Modale Fenster lassen sich nicht schließen
-
- Beiträge: 188
- Registriert: Fr 18. Jan 2013, 09:29
- OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
- CPU-Target: Celeron
Modale Fenster lassen sich nicht schließen
Hallo zusammen
Ich habe ein Programm zur Steuerung einer Modellbahn geschrieben.
Auf dem Rechner, auf dem ich programmiere (Windows XP Lazarus 1.6) geht alles Wunderbar.
Auf dem Rechner mit dem ich die Moba steuern will (ein älteres Modell Windows XP Lazarus 1.6) lassen sich aber sämtliche modalen Fenster und Messageboxen nicht mehr schließen.
Ich muss das Programm wenn es ohne Lazarus läuft dann immer über den Taskmanager abschießen. Im Lazarus geht es auch nicht, lässt sich aber über den roten Button beenden.
Kann das am Windows selbst liegen?
Auf meinen anderen Rechnern kann ich das Programm nicht testen, da ich zwingend 2 serielle Schnittstellen benötige.
Gruß Fritz
Ich habe ein Programm zur Steuerung einer Modellbahn geschrieben.
Auf dem Rechner, auf dem ich programmiere (Windows XP Lazarus 1.6) geht alles Wunderbar.
Auf dem Rechner mit dem ich die Moba steuern will (ein älteres Modell Windows XP Lazarus 1.6) lassen sich aber sämtliche modalen Fenster und Messageboxen nicht mehr schließen.
Ich muss das Programm wenn es ohne Lazarus läuft dann immer über den Taskmanager abschießen. Im Lazarus geht es auch nicht, lässt sich aber über den roten Button beenden.
Kann das am Windows selbst liegen?
Auf meinen anderen Rechnern kann ich das Programm nicht testen, da ich zwingend 2 serielle Schnittstellen benötige.
Gruß Fritz
Re: Modale Fenster lassen sich nicht schließen
Hi,
ich will ja nicht nerven, aber wie soll man dazu was sagen wenn man nicht weiß wie diese Fenster denn geschlossen werden sollen.
Per Tastatureingabe oder per Mauseingabe und wie sieht denn der Quellcode zum Schließen aus...
Muß dafür irgendeine Vorraussetzung erfüllt sein???
Handelt es sich dabei um Hinweise oder Fehlermeldungen oder wofür sind diese modalen Fenster und Messageboxen.. was zeigen die denn an?
Bei den Angaben könnte es alles Mögliche sein ...
ich will ja nicht nerven, aber wie soll man dazu was sagen wenn man nicht weiß wie diese Fenster denn geschlossen werden sollen.
Per Tastatureingabe oder per Mauseingabe und wie sieht denn der Quellcode zum Schließen aus...
Muß dafür irgendeine Vorraussetzung erfüllt sein???
Handelt es sich dabei um Hinweise oder Fehlermeldungen oder wofür sind diese modalen Fenster und Messageboxen.. was zeigen die denn an?
Bei den Angaben könnte es alles Mögliche sein ...
-
- Beiträge: 188
- Registriert: Fr 18. Jan 2013, 09:29
- OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
- CPU-Target: Celeron
Re: Modale Fenster lassen sich nicht schließen
bei einer Messagebox zeigt es bloss einen Text an.
Andere Fenster haben halt andere Inhalte. Deren Anzeigen und Manipulationen funktionieren auch einwandfrei.
Das Schließen erfolgt über die bei Windows üblichen Buttons rechts oben (x) bzw. bei Showmessage über den zugehörigen Button.
Bei den Formularen gibt es auch noch Exit-Buttons
In den onclose-Ereignisen steht nix drin. Also keinerlei Bedingungen. Das ist es ja, was mich in den "Wahnsinn " treibt.
Bei anderen Programmen geht es ja. Bei nichtmodalen Fenstern geht es auch ganz normal.
Andere Fenster haben halt andere Inhalte. Deren Anzeigen und Manipulationen funktionieren auch einwandfrei.
Das Schließen erfolgt über die bei Windows üblichen Buttons rechts oben (x) bzw. bei Showmessage über den zugehörigen Button.
Bei den Formularen gibt es auch noch Exit-Buttons
In den onclose-Ereignisen steht nix drin. Also keinerlei Bedingungen. Das ist es ja, was mich in den "Wahnsinn " treibt.
Bei anderen Programmen geht es ja. Bei nichtmodalen Fenstern geht es auch ganz normal.
Re: Modale Fenster lassen sich nicht schließen
Klingt erstmal sehr drollig, hab' ich so noch nie gehört...
Bedeutet das, dass das Programm den Eingabefokus verliert?
Oder ist das eher ein Freeze-Zustand?
Sogar bei dem einfachen ShowMessage-Dialog? Reagiert der den optisch: läßt sich der Button eindrücken?
Aber das Fenster bleibt trotzdem sichtbar...
Irgendwie denkt man bei sowas ja immer erstmal an AV-Software & Co.
Sind die beiden XP Installationen identisch? Kann mir kaum vorstellen, daß das an der Hardware liegt.
Hatte bis vor kurzem XP auf 'nem alten P4 und CeleronM430... lief super, war allerdings auch ein nLITE-XP...
Bedeutet das, dass das Programm den Eingabefokus verliert?
Oder ist das eher ein Freeze-Zustand?
Sogar bei dem einfachen ShowMessage-Dialog? Reagiert der den optisch: läßt sich der Button eindrücken?
Aber das Fenster bleibt trotzdem sichtbar...
Irgendwie denkt man bei sowas ja immer erstmal an AV-Software & Co.
Sind die beiden XP Installationen identisch? Kann mir kaum vorstellen, daß das an der Hardware liegt.
Hatte bis vor kurzem XP auf 'nem alten P4 und CeleronM430... lief super, war allerdings auch ein nLITE-XP...
-
- Beiträge: 188
- Registriert: Fr 18. Jan 2013, 09:29
- OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
- CPU-Target: Celeron
Re: Modale Fenster lassen sich nicht schließen
Das ist ein Freeze-Zustand. Auch die Buttons ändern sich optisch nicht.
Die Formularaufrufe habe ich von showmodal in show umgewandelt, die funktionieren jetzt.
Ich habe mal ein kurzes Testprogramm geschrieben. Über einen Button rufe ich eine Messagebox auf. Und die kann ich wieder ganz normal schließen.
Die Windows-Versionen konnte ich noch nicht überprüfen, müssten aber schon gleich sein, stammen ja von der gleichen Installations-CD.
Das ist alles sehr komisch. Einen Virus glaube ich kann ich ausschließen, da der Rechner noch nie Onleine war.
Die Formularaufrufe habe ich von showmodal in show umgewandelt, die funktionieren jetzt.
Ich habe mal ein kurzes Testprogramm geschrieben. Über einen Button rufe ich eine Messagebox auf. Und die kann ich wieder ganz normal schließen.
Die Windows-Versionen konnte ich noch nicht überprüfen, müssten aber schon gleich sein, stammen ja von der gleichen Installations-CD.
Das ist alles sehr komisch. Einen Virus glaube ich kann ich ausschließen, da der Rechner noch nie Onleine war.
Re: Modale Fenster lassen sich nicht schließen
Das klingt ja so als ob da unmittelbar während oder kurz nach dem Dialog-Fenster etwas diesen Freeze auslöst. Wenn das bei neuerer Hardware kein Problem darstellt, dann muß es ja QuellCode sein der so ähnlich wie "SLEEP" unterschiedliche Ergebnisse bringt bei unterschiedlich viel Power. Also der schnelle (starke) Rechner schafft es noch, aber der langsame Rechner schafft es nicht mehr und dann 'Bumm'...
Ist zumindest das Erste was mir durch den Kopf geht... viel Erfolg beim Suchen...
Ist zumindest das Erste was mir durch den Kopf geht... viel Erfolg beim Suchen...
Re: Modale Fenster lassen sich nicht schließen
Wenn das funktioniert, dann liegt der Fehler sicherlich irgendwo in deinem Programm. Manchmal liegt der Fehler in einer Ecke, in der man diesen überhaupt nicht vermutet (z.B. bestimmte Events erzeugen eine Rekursion).haderlump hat geschrieben:Ich habe mal ein kurzes Testprogramm geschrieben. Über einen Button rufe ich eine Messagebox auf. Und die kann ich wieder ganz normal schließen.
Du könntest andere Lazarusversionen testen, wie diese sich verhalten.
Du könntest dein Programm mitloggen und das Log versuchen auszuwerten.
Du könntest dein Programm debuggen und versuchen die Ursache zu finden (was jetzt meine erste Wahl wäre).
Du könntest eine Kopie deines Programms soweit reduzieren, bis du zu dem Testprogramm kommst. Irgendwo auf dem Weg dahin wird der Knoten gelöst werden.
Ich würde da die Ursache vermuten (evtl. in einer Endlosschleife).haderlump hat geschrieben:Auf meinen anderen Rechnern kann ich das Programm nicht testen, da ich zwingend 2 serielle Schnittstellen benötige.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Modale Fenster lassen sich nicht schließen
Bist du sicher, dass die Schnittstellen richtig angesprochen werden? Vielleicht wartet dein Programm auf eine Antwort einer Schnittstelle und blockiert sich dadurch? Deaktiviere probehalber alles, was mit der seriellen Schnittstelle zusammenhängt. Tritt der Hänger dann immer noch auf?haderlump hat geschrieben: ... 2 serielle Schnittstellen ...