Seite 1 von 1

Programmfenster leer

Verfasst: 10.04.2013 10:16
von Heinz Mendax
Hallo,
ich habe zur Einarbeitung in Purebasic ein kleines Programm mit Radiobuttons und einer OK-Schaltfläche erstellt. Wenn ich es
ausführen lasse ist auch das Programmfenster mit den Gadgets zu sehen und man kann sie auch bedienen. Leider macht das
Programm durch einen Fehler nicht das was es soll. Deshalb habe ich vor der vermeintlichen Programmstelle einen Haltepunkt
eingeführt. Wenn man nun das Programm ab dem Haltepunkt zeilenweise abarbeitet, muß man das Programmfenster aus
der Windowsleiste unten hervorholen, es ist aber bis auf seine Überschrift leer. Die Gadgets sind nicht vorhanden,die man durch
Anklicken gerade überprüfen will (Event,Übergabeparameter). Was mache ich falsch bzw. durch welche Maßnahmen können
die zurückgegebenen Werte verfolgt werden.

Re: Programmfenster leer

Verfasst: 10.04.2013 10:39
von Kiffi
Deine Eventschleife wird durch den Haltepunkt unterbrochen.
Aus diesem Grund wird das Fenster nicht mehr neugezeichnet,
bzw. reagiert nicht mehr auf die Bedienung.

Grüße ... Kiffi

Re: Programmfenster leer

Verfasst: 10.04.2013 10:41
von CSHW89
Ohne jetzt zu wissen, wo du den Haltepunkt gesetzt hast, aber Haltepunkte und eine GUI vertragen sich nicht so sehr. Das Problem ist, dass durch das verlangsamte Durchlaufen (Wait)WindowEvent lange nicht aufgerufen wird. Allerdings braucht das Fenster ein Aufruf dieser Funktion in regelmäßigen Abständen. Außerdem werden Änderungen an Gadgets ect. erst beim nächsten Aufruf dieser Funktion sichtbar. Wenn du z.B. mit der Funktion SetGadgetText den Text eines Gadgets änderst, und dann sofort pausierst, siehst du die Änderung noch nicht, schlimmer noch das Fenster hängt sich nach ein paar Sekunden auf, da es die Events nicht verarbeiten kann.
Dass du die Gadgets auf dem Fenster nicht siehst, hat den selben Grund. Das Fenster war erst nicht zu sehen, dann pausierst du, und willst das Fenster anzeigen lassen. Problem ist nun, das Fenster will die Gadgets wieder neu zeichnen, dafür brauchts aber (Wait)WindowEvent.

lg Kevin

Re: Programmfenster leer

Verfasst: 10.04.2013 14:08
von bobobo
Hi Heinz,
Debug ist bekannt ?
Damit gibst Du Meldungen im Debugfenster aus.
Das sollte sich zur Überwachung hier anbieten.
Achte darauf, dass Debugausgaben in einem
fertig kompilierten Programm übergangen werden
also z.B. ein

Code: Alles auswählen

Debug Openwindow(#Fenster,0,0,300,300,u.s.w.....
im Programm kein Fenster öffnet.