modales form friert ein

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

modales form friert ein

Beitrag von khh »

hallo zusammen,
ich habein einer Anwednung die ich unter Laz 09.27 erstellt habe ein Form welches modal angezeigt wird.
Das Ganze nun unter Laz 09.29 kompiliert.
Wenn nun auf diesem Form irgendwas angeklickt wird, friert die Anwendung ein.
Ein gesetzter Break zeigt dass das Progamm in einer Endlosscheife hängt, und zwar hier in
der: function TCustomForm.ShowModal: Integer; aus customform.inc

Code: Alles auswählen

try
        TWSCustomFormClass(WidgetSetClass).ShowModal(Self);
        repeat
          { Delphi calls Application.HandleMessage
            But HandleMessage processes all pending events and then calls idle,
            which will wait for new messages. Under Win32 there is always a next
            message, so it works there. The LCL is OS independent, and so it uses
            a better way: }

          try
            WidgetSet.AppProcessMessages; // process all events
          except
            if Application.CaptureExceptions then
              Application.HandleException(Self)
            else
              raise;
          end;
          if Application.Terminated then
            ModalResult := mrCancel;
          if ModalResult <> 0 then
          begin
            CloseModal;
            if ModalResult<>0 then break;
          end;
          Application.Idle(true);
        until False;



was kann ich tun, bzw, was hat sich geändert.
EDIT: das Problem tritt nur auf, wenn aus dem modalen form ein weiteres Form modal aufgerufen wird. :-(
ich möchte ungern zu 09.27. zurück.

Gruss KH

AEG
Beiträge: 3
Registriert: Sa 20. Mär 2010, 11:47
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: modales form friert ein

Beitrag von AEG »

Hallo,

ich habe genau das gleiche Problem. Bild

khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

Re: modales form friert ein

Beitrag von khh »

AEG hat geschrieben:Hallo,

ich habe genau das gleiche Problem. Bild


jetzt hab ich extra 2 Wochen Urlaub gemacht :shock:

Hat niemand ne Lösung?

Gruss KHH

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: modales form friert ein

Beitrag von theo »

khh hat geschrieben:jetzt hab ich extra 2 Wochen Urlaub gemacht :shock:
Hat niemand ne Lösung?


Hier geht das vergessen und wird wahrsch. auch nicht von den Leuten gelesen, die das beheben könnten.
Schreib's in den Bugtracker.

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: modales form friert ein

Beitrag von Socke »

Ein Workaround wäre vielleicht, das erste Modale-Form vor dem anzeigen zu schließem:

Code: Alles auswählen

Self.Close;
zweitesmodalesform.ShowModal;
Self.ShowModal;

Ich weiß nicht ob das funktioniert und inwiefern der der Rückgabewert des ersten erstesmodalesform.Showmodal verwertbar it.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

Re: modales form friert ein

Beitrag von khh »

Socke hat geschrieben:Ein Workaround wäre vielleicht, das erste Modale-Form vor dem anzeigen zu schließem:

Code: Alles auswählen

Self.Close;
zweitesmodalesform.ShowModal;
Self.ShowModal;

Ich weiß nicht ob das funktioniert und inwiefern der der Rückgabewert des ersten erstesmodalesform.Showmodal verwertbar it.


werd ich ausprobieren,
danke euch

Gruss KH

Antworten