![]() |
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?
|
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 |
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 |
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.
|
Re: Close geht nicht zum Programmbeenden
Hallo,
benutze einmal Application.Terminate. Damit müsste es gehen. |
Re: Close geht nicht zum Programmbeenden
Warum immer diese Haudrauf-Methode wenn es besser geht?
|
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] |
Re: Close geht nicht zum Programmbeenden
Danke Lucki, das war sehr einleuchtend :)
|
Re: Close geht nicht zum Programmbeenden
Zitat:
Greetz alcaeus |
Re: Close geht nicht zum Programmbeenden
@ alcaeus:
Delphi-Quellcode:
MfG Marc
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 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