#PB_Any : Gadget object number is very high (over 10000)....

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Das der Debugger zwischen selber eingegebenen Werte und #PB_Any Werten unterscheiden hab ich ja schon gemerkt, siehe meinen Post hier vor :wink: ...

Ich hab deinen mal getestet, also ich kann deins nur bestätigen, ich habs mal mit Debugger getestet und dann mal die Schleife was höher gestellt. Ab 47 zeigt der Debugger fehler an:

Error at line 7 : #Gadget objekt not initialized.

Line 6 : Y=ContainerGadget(#PB_Any,10,10,100,100)
Line 7 : OpenGadgetList(Y)

und natürlich noch die Fehlermeldung, das das Programm ein Problem festgestellt hat und beendet werden muss. :?

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

1. Zu dem Offtopic-Bug:
Das ganze Problem mit "Programm muss beendet werden" tritt nur auf,
wenn OpenGadgetList() benutzt wird, was hier ja nicht wirklich notwendig
ist. Ein Bug wohl trotzdem? :?

Zu der anderen Geschichte von wegen "Not initialised" im Offtopic Bug:
Jungs, es gibt einen Rückgabewert. Bei mir scheitert das Erstellen des 47.
Containergadget wie bei allen anderen wohl auch. Seltsam, dass
OpenGadgetList() dann meckert, verstehe ich auch nicht :twisted:

2. Zum eigentlichen Thema:
Hast du, SirCus, vielleicht ein Word oder einen anderen Variablentyp als
Long zum Speichern der ID verwendet?

Ist sichergestellt, dass die Variable für die ID nicht verändert wird? Ist die
Variable vielleiucht Global und wird in einer Procedure verändert? Oder
sonst irgendwo im Programm?

Schreibfehler sind ausgeschlossen?

Falls die ID in einem Array oder in einer Linked List anstelle einer
normalen Variable gespeichert ist: Ist sicher das richtige Element
ausgewählt?

Bei Arrays: Auch, wenn der Debugger eigentlich inzwischen out of bounds
ziemlich zuverlässig meldet: Überprüfen! Bei einem out of bounds
kommen häufig sehr hohe Zahlen als Array Wert raus.


Für alles weitere:
Mehr Infos!

(Ich bin jetzt aber die nächste Woche nicht da, nicht wundern :) )
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Antworten