Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Programm schließen (https://www.delphipraxis.net/7732-programm-schliessen.html)

Taladan 20. Aug 2003 10:34


Programm schließen
 
Gibt es einen Befehl, welches das Programm ohne umwege einfach schließt? Ich überprüfe beim Start meines Programmes auf die existens der Datenbanken (es sind Sechs); wenn nicht da, gibt es eine Message. Trotzdem läuft das Programm erst weiter. Wenn eine dieser Datenbanken fehlt, gibt schon bei der anzeige des ersten formulars eine unschöne Fehlermeldung. dies möchte ich gerne vermeiden.

kiar 20. Aug 2003 10:39

Re: Programm schließen
 
du solltest mit messagedlg arbeiten, ansonsten, weis der benutzer ja nicht, woran es gelegen hat, das das prog zumacht.

zb so
Delphi-Quellcode:

      for i:=1 to 6 do
       if table = da then
         [B]messagedlg('nicht alle db sind vorhanden1',mtinformation,[mbok],0)[/B]
     close;
[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]

Taladan 20. Aug 2003 10:44

Re: Programm schließen
 
Ich gebe ihn ja eine Message. Nur dem OK bei der Message soll das Programm automatisch geschlossen werden.

sakura 20. Aug 2003 11:07

Re: Programm schließen
 
So:
Delphi-Quellcode:
      for i:=1 to 6 do
       if table = da then
       begin
         messagedlg('nicht alle db sind vorhanden1',mtinformation,[mbok],0);
         Application.Terminate;
       end;
...:cat:...

kiar 20. Aug 2003 11:11

Re: Programm schließen
 
@sakura wenn ich das mit der delphi source auch hingekriegt hätte, hätte es bei mir auch so ausgesehen nur mit close;

Matze 20. Aug 2003 18:32

Re: Programm schließen
 
Mach's doch so:

Code:
if Application.MessageBox('Nicht alle db sind vorhanden.','Information',64)=mrOK then Form1.Close;
Das bewirkt, dass der Dialog geöffnet wird und beim Klick auf OK die Form geschlossen wird.

Wieso denn immer so umständlich? :wink:

Gruß Matze

Frank2269 21. Aug 2003 07:47

Re: Programm schließen
 
Hallo,

versuch mal folgendes.

if not FileExists (Datenbank) Then
begin
MessageDlg('Es konnten nicht alle Datenbanken gefunden werden !'+#13+#13+'Diese sind aber für den Betrieb von (Prg) notwendig!', MtError,[mbOk], 0);

/// ist zwar nich die feine Art

Halt;

/// Beendet ohne weitere Bedinungen die Anwendung.

end;

Luckie 21. Aug 2003 08:27

Re: Programm schließen
 
Also bei mir wird nach dem close nichts mehr ausgeführt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  close;
  ShowMessage('foo');
end;
Die Messagebox wird nicht mehr angezeigt.

Luckie 21. Aug 2003 08:35

Re: Programm schließen
 
Gerade festgestellt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  close;
  MessageDlg('', mtWarning, mbOKCancel, 0);
  MessageBox(self.Handle, '', '', 0);
end;
Der MessageDialog kommt noch. :gruebel:

Taladan 21. Aug 2003 09:35

Re: Programm schließen
 
hab es so gelößt

Delphi-Quellcode:
procedure THauptform.FormCreate(Sender: TObject);
var verz: string;
begin
  verz := extractfilepath(paramstr(0))+ 'db';
  DataMod.table1.Active := false;
  try
    DataMod.table1.databasename := verz;
    DataMod.table1.TableName := 'Gehälter.db';
    DataMod.table1.Active := true;
  except
    MessageBeep(0);
    ShowMessage('Die Tabelle Gehälter.db befindet sich' + #10#13 +
                'nicht im Unterverzeichnis DB !' + #10#13 +
                'Das Programm wird nun beendet!');
    Application.Terminate;
  end;

  datamod.table1.open;
end;
//usw. für weitere Tabellen und Query´s

Matze 21. Aug 2003 09:57

Re: Programm schließen
 
Hätte

Code:
if Application.MessageBox('Nicht alle db sind vorhanden.','Information',64)=mrOK then Form1.Close;
nicht funktioniert?

Gruß Matze

Christian Seehase 21. Aug 2003 16:54

Re: Programm schließen
 
Moin Zusammen,

was spricht dageben die Prüfung schon in der Projektdatei unterzubringen, so dass das eigentliche Programm gar nicht erst gestartet wird, wenn ein Fehler auftritt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:30 Uhr.

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