Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Close geht nicht zum Programmbeenden (https://www.delphipraxis.net/40324-close-geht-nicht-zum-programmbeenden.html)

JPSelter 14. Feb 2005 12:41


Close geht nicht zum Programmbeenden
 
Ich frage am Anfang (FormCreate) meiner Software ab, ob eine andere Kopie bereits läuft. Wenn diese schon läuft, soll eine showmessage-Nachricht darauf hinweisen und das Programm soll sich dann beenden. Ich benutze direkt unter showmessage den Befehl "close", aber er schliesst die Anwendung nicht. Bei "halt" bekomme ich eine allgemeine Schutzverletzung. Was kann ich tun?

ReDoX 14. Feb 2005 12:46

Re: Close geht nicht zum Programmbeenden
 
Ich glaube close funktioniert nicht im oncreate event.
Du musst das im OnShow machen.
Mfg ReDoX
Edit: Ich habe es getestet es geht im OnShow

alcaeus 14. Feb 2005 12:47

Re: Close geht nicht zum Programmbeenden
 
Close funktioniert AFAIR weder im OnCreate, noch im OnShow. Du könntest aber Application.Terminate aufrufen, dann wird die Anwendung sobald wie möglich geschlossen.
Die zweite Möglichkeit ist, einen Timer zu aktivieren und das Form im Timer zu schließen.

Greetz
alcaeus

Luckie 14. Feb 2005 12:47

Re: Close geht nicht zum Programmbeenden
 
Überlegen wir doch mal, was du da machen willst: Du willst beim Einsteigen in das Auto gleichzeitig wieder aussteigen. Macht das Sinn? Kann das gehen? Nein. Entweder machts du das bevor OnCreate aufgerufen wird, bevor du also einsteigst, also bevor das Hauptformular erzeugt wird, das wäre dann in der Projekt Datei bevor das Hautpformular initialisiert wird oder du machst es dann, wenn du schon im Auto sitzt und steigst dann wieder aus.

Gollum 14. Feb 2005 12:48

Re: Close geht nicht zum Programmbeenden
 
Hallo,

benutze einmal Application.Terminate. Damit müsste es gehen.

Luckie 14. Feb 2005 12:50

Re: Close geht nicht zum Programmbeenden
 
Warum immer diese Haudrauf-Methode wenn es besser geht?

Chegga 14. Feb 2005 13:00

Re: Close geht nicht zum Programmbeenden
 
Hi,

@ JPSelter:

Warum nicht einfach mit einer MessageBox?
Dann hast du Hinweis und Application.Terminate in einem. :wink:

MfG Marc

[Edit]Sorry alcaeus, ich meinte A.T und nicht Close :oops: [/Edit]

JPSelter 14. Feb 2005 13:01

Re: Close geht nicht zum Programmbeenden
 
Danke Lucki, das war sehr einleuchtend :)

alcaeus 14. Feb 2005 13:02

Re: Close geht nicht zum Programmbeenden
 
Zitat:

Zitat von Chegga
Warum nicht einfach mit einer MessageBox?
Dann hast du Hinweis und Close in einem. :wink:

Das musst du mir jetzt erstmal erklären. Seit wann macht denn die MessageBox irgendein Form zu? :shock:

Greetz
alcaeus

Chegga 14. Feb 2005 13:09

Re: Close geht nicht zum Programmbeenden
 
@ alcaeus:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var Knopf: Integer;
begin
  Knopf := Application.MessageBox
   ('Diese Software ist schon geöffnet. Beenden?', 'Hinweis', 1+16);
  if Knopf = IDOK then Application.Terminate;
end;
MfG Marc


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 Uhr.
Seite 1 von 2  1 2      

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