AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MessageDlg Programm läuft weiter

Ein Thema von daniel71 · begonnen am 21. Feb 2011 · letzter Beitrag vom 21. Feb 2011
Antwort Antwort
daniel71

Registriert seit: 27. Sep 2007
38 Beiträge
 
Delphi XE Professional
 
#1

MessageDlg Programm läuft weiter

  Alt 21. Feb 2011, 20:38
Hallo

Kann mir jemand sagen wieso beim unten aufgeführten Code, das Programm nicht anhält?
Wenn ich einen Haltepunkt bei if MessageDlg... einfüge, erscheint die MessageBox. Wenn nicht, wird die else Bedingung ausgeführt (mrNo) und danach FormInstallationEndpunktAnschliessen.ShowModal ausgeführt.

Delphi-Quellcode:
        if DrahtAnEndAngeschl <> KGrid1.RowCount - 2 then
        begin
          if MessageDlg('Sollen am Endpunkt nicht angeschlossene Drähte am Einschub angeschlossen werden?', mtWarning, [mbYes,mbNo], 1) = mrYes then
          begin
            EndAnzDrahtAngeschl:= KGrid1.RowCount - 2;
            AlleDrahtEndAngeschl:= True;
          end
          else
          begin
            EndAnzDrahtAngeschl:= DrahtAnEndAngeschl;
            AlleDrahtEndAngeschl:= False;
          end;
        end
        else
          KabelAnzDraht:= DrahtAnEndAngeschl;
        FormInstallationEndpunktAnschliessen.ShowModal;

Macht irgendwie keinen Sinn.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: MessageDlg Programm läuft weiter

  Alt 21. Feb 2011, 20:41
Hm... Arbeitest du mit Threads?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
daniel71

Registriert seit: 27. Sep 2007
38 Beiträge
 
Delphi XE Professional
 
#3

AW: MessageDlg Programm läuft weiter

  Alt 21. Feb 2011, 21:05
Nein, es sei denn TKGrid macht das.

Was ich jetzt aber entdeckt habe ist, dass die Messagebox ganz kurze Zeit erscheint und danach gleich wieder verschwindet.

Ich habs jetzt mal so ausprobiert:
Delphi-Quellcode:
case MessageDlg('Sollen am Endpunkt nicht angeschlossene Drähte am Einschub angeschlossen werden?', mtWarning, [mbYes,mbNo], 1) of
mrYes:
  begin
    EndAnzDrahtAngeschl:= KGrid1.RowCount - 2;
    AlleDrahtEndAngeschl:= True;
  end;
mrNo:
  begin
    EndAnzDrahtAngeschl:= DrahtAnEndAngeschl;
    AlleDrahtEndAngeschl:= False;
  end;
end;
Das Programm führt immer nur die mrNo Anweisung durch.

Ich habe auch mrYes, mrNo und MessageDlg nirgens überschrieben.
  Mit Zitat antworten Zitat
daniel71

Registriert seit: 27. Sep 2007
38 Beiträge
 
Delphi XE Professional
 
#4

AW: MessageDlg Programm läuft weiter

  Alt 21. Feb 2011, 22:03
Das hier funktioniert:

Delphi-Quellcode:
if DrahtAnEndAngeschl <> KGrid1.RowCount - 2 then
begin
  MessageDlg('Blabla?', mtWarning, [mbYes,mbNo], 1);
  case MessageDlg('Sollen am Endpunkt nicht angeschlossene Drähte am Einschub angeschlossen werden?', mtWarning, [mbYes,mbNo], 1) of
  mrYes:
    begin
      EndAnzDrahtAngeschl:= KGrid1.RowCount - 2;
      AlleDrahtEndAngeschl:= True;
    end;
  mrNo:
    begin
      EndAnzDrahtAngeschl:= DrahtAnEndAngeschl;
      AlleDrahtEndAngeschl:= False;
    end;
  end;
end
else
  KabelAnzDraht:= DrahtAnEndAngeschl;
FormInstallationEndpunktAnschliessen.ShowModal;
Die MessageBox mit 'Blabla?'' wird nicht angezeigt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz