Thema: if Schleife?

Einzelnen Beitrag anzeigen

samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#39

Re: if Schleife?

  Alt 12. Mär 2010, 07:46
Also, ich kann bestätigen, dass es bei Delphi 2007 einen Bug mit der Funktion "TApplication.GetActiveFormHandle" gibt. Der Fehler kann wie folgt reproduziert werden.

(Vergleiche: QC #75756/#78400/#78883: No exceptionmessage shown if form is released)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2 := TForm2.Create(Self);
  Form2.Show;
  Form2.Release;
  raise Exception.Create('Keine Fehlermeldung - oder doch?');
end;
Die Ursache des Problems ist, dass die CM_RELEASE-Message in der Message-Warteschlange steckt und dann erst beim Anzeigen der Messagebox abgearbeitet wird. Da die Messagebox als Parent genau das zu schließende Fenster hat, wird sie ebenfalls geschlossen - also nie angezeigt.

Ich verstehe allerdings nicht, wie man das hier besprochene Verhalten reproduzieren kann.

Nun meine Frage: Hat jemand ein Beispielprogramm, welches den Fehler (MessageDlg wird nicht angezeigt - MessageBox wird aber angezeigt) von Sanguis mit Delphi 2007 reproduziert?
  Mit Zitat antworten Zitat