Gadget objet number is very hight : ignorer ?
-
- Messages : 305
- Inscription : mer. 05/janv./2005 12:58
- Localisation : http://www.tib-net.com/meca/index.htm
Gadget objet number is very hight : ignorer ?
Bonjour à tous
J'ai besoins de réserver de la place pour des gadget, et de place en place j'ai des gadget qui ont une ID >10000.Lorsque j'execute mon programme avec le debugger, j'ai le message : Gadget objet number is very hight.
Comment puis-je parametrer cette alerte ?
Merci d'avance
J'ai besoins de réserver de la place pour des gadget, et de place en place j'ai des gadget qui ont une ID >10000.Lorsque j'execute mon programme avec le debugger, j'ai le message : Gadget objet number is very hight.
Comment puis-je parametrer cette alerte ?
Merci d'avance
Vive le temps libre !
Juste une question, si on fait dans un programme :Fred a écrit :Il faut faire attention en choisissant des numeros de gadgets tres grands, car un tableau de 0 à 'numeroleplushaut' est alloué, c'est pour cela que cette alerte survient. Si tu veux des gadgets numérotés dynamiquement, utiliser #PB_Any.
Code : Tout sélectionner
Enumeration = 100
#Btn_New_Project
#Btn_Open_Project
#Btn_Save_Project
#Btn_Generate_Code
#Btn_Send_To_ClipBoard
#Btn_Language
#Btn_Quit
#Btn_PushPin01
#Btn_PushPin02
#Btn_Help
#Btn_Tutorial
#Btn_Previous
#Btn_Next
#Btn_Refresh
#IconListSize
EndEnumeration
A+
Guimauve
-
- Messages : 305
- Inscription : mer. 05/janv./2005 12:58
- Localisation : http://www.tib-net.com/meca/index.htm
Merci pour vos réponse mais le doute persiste :
Est-il possible de désactivé cette alerte ?
Sinon, vos réponse m'amène une question :
Mais qu'elle est donc cette constante #PB_Any ????
Mon problème :
Dans un programme, je fais une espèce de Forum. Prenons l'exemple de celui qui est sous nos yeux. Pour chaque message, un bouton "Citer" est créé.
C'est le cas dans mon programme.
J'ai donc réservé une place pour ces gadgets :
Puis dans la gestion des évenements, je met
Comme j'ai la même chose pour plusieur gadget :
1: le gadget Web qui affiche le message
2 : Boutton Vu
3 : Boutton Fait
4 : Boutton Editer
5 : Boutton Supprimer
Puis sur une autre liste (les nouveau message), avec d'autre bouton.
Et pour clore le tout, pour être tranquille j'avais initialisé #max_post=999
Alors forcément cela dépasse, et à chaque affichage : Message d'alerte !
Si vous avez une solution, cela serait bien pratique. Pour l'instant j'ai changé le max de message....
Est-il possible de désactivé cette alerte ?
Sinon, vos réponse m'amène une question :
Mais qu'elle est donc cette constante #PB_Any ????

Mon problème :
Dans un programme, je fais une espèce de Forum. Prenons l'exemple de celui qui est sous nos yeux. Pour chaque message, un bouton "Citer" est créé.
C'est le cas dans mon programme.
J'ai donc réservé une place pour ces gadgets :
Code : Tout sélectionner
#max_post=100
Enumeration #PB_Compiler_EnumerationValue Step #max_post
#debut_post
#fin_post
EndEnumeration
Code : Tout sélectionner
Case #debut_post To #fin_post
1: le gadget Web qui affiche le message
2 : Boutton Vu
3 : Boutton Fait
4 : Boutton Editer
5 : Boutton Supprimer
Puis sur une autre liste (les nouveau message), avec d'autre bouton.
Et pour clore le tout, pour être tranquille j'avais initialisé #max_post=999
Alors forcément cela dépasse, et à chaque affichage : Message d'alerte !
Si vous avez une solution, cela serait bien pratique. Pour l'instant j'ai changé le max de message....
Vive le temps libre !
Dans un cas comme ça, je n'utiliserais pas des constantes. Je garderais en mémoire dans une liste chainé structuré les numéros identification de message et de chacun des boutons. Et lorsqu'un message est ajouté il faut prendre le dernier élément de la liste, mémoriser les valeurs et faire un AddElement() en incrémentant les numéros de 1 et en ajoutant les boutons au même moment à la Gadgetlist.
Pour la constante #PB_Any on force le programme à donné lui-même un numéro d'identification.
Il est possible de combiner les 2 méthodes plus haut. J'espère que ça peut t'aider.
A++
Guimauve
Pour la constante #PB_Any on force le programme à donné lui-même un numéro d'identification.
Code : Tout sélectionner
ID_Bouton_Citer = ButtonGadget(#PB_Any,x,y,width,Height,"Citer")
ID_Bouton_Supprimer = ButtonGadget(#PB_Any,x,y,width,Height,"Supprimer")
A++
Guimauve
J'attend toujours la réponse à cette questionGuimauve a écrit :Juste une question, si on fait dans un programme :Fred a écrit :Il faut faire attention en choisissant des numeros de gadgets tres grands, car un tableau de 0 à 'numeroleplushaut' est alloué, c'est pour cela que cette alerte survient. Si tu veux des gadgets numérotés dynamiquement, utiliser #PB_Any.
Donc les 99 premières cases du tableau serviraient à rien, mise à part gaspiller de la mémoire. C'est bien cela ?Code : Tout sélectionner
Enumeration = 100 #Btn_New_Project #Btn_Open_Project #Btn_Save_Project #Btn_Generate_Code #Btn_Send_To_ClipBoard #Btn_Language #Btn_Quit #Btn_PushPin01 #Btn_PushPin02 #Btn_Help #Btn_Tutorial #Btn_Previous #Btn_Next #Btn_Refresh #IconListSize EndEnumeration
A+
Guimauve

Cela dit on peut toujours vérifier ca soi-même
Dri
Trouver ça nous même ?? À moins d'avoir un pointeur sur le tableau, je ne vois pas comment on peut faire.Dr. Dri a écrit : J'attend toujours la réponse à cette question
Cela dit on peut toujours vérifier ca soi-même
Dri
De plus, je ne savais même pas que les constantes étaient dans un tableau.
Si Fred repasse ici une petite précision serait la bienvenu.
A+
Guimauve
Tu peux faire les tests en glissant un peu d'assembleur dans ton code. Avec bien sûr les infos nécessaires dans le PB Library Descriptor
Dri
Code : Tout sélectionner
Library Descriptions
--------------------
Most of the libraries have 3 shared 32 bits (long) variables:
_PB_LibraryName_ObjectsNumber :
Maximum number of object that can actually be handled. If the user requiers
an object number above this number, a new memory bank must be allocated.
_PB_LibraryName_ObjectsArea :
The memory bank address. All the objects are allocated in one bank, indexed
like in an array. This allows extra fast objet positioning and minimize the
memory allocation (and fragmentation).
C'est bien ca.Guimauve a écrit :Juste une question, si on fait dans un programme :Fred a écrit :Il faut faire attention en choisissant des numeros de gadgets tres grands, car un tableau de 0 à 'numeroleplushaut' est alloué, c'est pour cela que cette alerte survient. Si tu veux des gadgets numérotés dynamiquement, utiliser #PB_Any.
Donc les 99 premières cases du tableau serviraient à rien, mise à part gaspiller de la mémoire. C'est bien cela ?Code : Tout sélectionner
Enumeration = 100 #Btn_New_Project #Btn_Open_Project #Btn_Save_Project #Btn_Generate_Code #Btn_Send_To_ClipBoard #Btn_Language #Btn_Quit #Btn_PushPin01 #Btn_PushPin02 #Btn_Help #Btn_Tutorial #Btn_Previous #Btn_Next #Btn_Refresh #IconListSize EndEnumeration
A+
Guimauve