Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   if Schleife? (https://www.delphipraxis.net/148974-if-schleife.html)

DeddyH 11. Mär 2010 21:16

Re: if Schleife?
 
Angeblich überspringt der Debugger aber die Abfrage (wobei ich mir das nur schwer vorstellen kann).

mirage228 11. Mär 2010 21:18

Re: if Schleife?
 
Zitat:

Zitat von DeddyH
Angeblich überspringt der Debugger aber die Abfrage (wobei ich mir das nur schwer vorstellen kann).

Wenn es das selbe Problem ist das ich früher da mal mit den gekapselten Messageboxen hatte und er nicht hineinsteppt, dann überspringt der Debugger evtl. wirklich diese Stelle... :gruebel:
Es sei denn Du meinst die Abfrage da rüber (if firstatrt = ...), das sollte wirklich nicht übersprungen werden. (Falls der Wert stimmt)

Sanguis 11. Mär 2010 21:22

Re: if Schleife?
 
Zitat:

Zitat von mirage228
Also beim Start der Anwendung (FormCreate bzw. FormShow) hatte ich manchmal Probleme mit Application.MessageBox. Vielleicht trifft dieses Problem ja auch hier bei MessageDlg zu:

Versuch mal statt
Delphi-Quellcode:
      if MessageDlg('Do you want to play Backgroundmusic ?', mtConfirmation,
        [mbYes, mbNo], 0) = mrYes then
dieses:
Delphi-Quellcode:
      if MessageBox(Handle, 'Do you want to play Backgroundmusic ?', 'Confirmation',
        MB_YESNO or MB_ICONQUESTION) = IDYES then

Ha! Danke, das wars! So funktioniert es!
Tausend Dank, du bist meine Rettung.
Nu muß nur noch mein anderer Thread gehn.

Gruß,
Andreas

DeddyH 11. Mär 2010 21:25

Re: if Schleife?
 
:wall: Schön, wenn man die Infos so zeitig erhält. Ich war die ganze Zeit davon ausgegangen, dass die Abfrage nicht erfüllt wird.

Sanguis 11. Mär 2010 21:29

Re: if Schleife?
 
Zitat:

Zitat von DeddyH
:wall: Schön, wenn man die Infos so zeitig erhält. Ich war die ganze Zeit davon ausgegangen, dass die Abfrage nicht erfüllt wird.

Das dachte ich ja auch. Wobei ich den verdacht hatte, das es an der MessageBox liegt, hab ich auch in nem Beitrag geschrieben.
Aber da der Haltepunkt übergangen wurde, dachte ich es liegt am if-Statement.

Sir Rufo 11. Mär 2010 21:41

Re: if Schleife?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich habe da mal mit Delphi 2010 Professional (Win 7 x64 Prof, Win Vista x64 Prof) ein kleines Test-Projekt angelegt und da wird der MessageDlg korrekt angezeigt.

Wäre ja jetzt interessant zu wissen, ob das an der Delphi-Version liegt oder am Betriebssystem (scheint wohl am Delphi zu liegen).

@Sanguis: Compiliere doch mal das angehängte Projekt und teile uns mit, ob das Programm direkt beim Start den MessageDlg anzeigt.

mirage228 11. Mär 2010 21:43

Re: if Schleife?
 
Das trat bei mir zumindest noch bei Delphi 7 oder Delphi 2005 auf (Welches genau, vermag ich allerdings nicht mehr zu sagen). Aber wenn es unter Delphi 2010 funktioniert, ist das ja schon mal erfreulich :)

Sanguis 11. Mär 2010 21:56

Re: if Schleife?
 
Das angehängte Programm zeigt keine MessaeBox. Aber ist ja zum Glück gelöst, auch wenn ich es nicht logisch finde *g*

Ich nutze Delphi2007

samso 12. Mär 2010 06:46

Re: if Schleife?
 
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?

thepaine91 12. Mär 2010 10:54

Re: if Schleife?
 
samso siehe Beitrag von Sir Rufo.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr.
Seite 4 von 5   « Erste     234 5      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz