Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi IniFile wird nicht erstellt! (https://www.delphipraxis.net/136238-inifile-wird-nicht-erstellt.html)

Popov 26. Jun 2009 10:37

Re: IniFile wird nicht erstellt!
 
Zitat:

Zitat von jaenicke
Kann es sein, dass die Prozedur im Objektinspektor gar nicht bei OnClose eingetragen ist?

Ich hab es gerade getestet. Keine Probleme in OnClose, die Ini wird angelegt.

DeddyH 26. Jun 2009 10:39

Re: IniFile wird nicht erstellt!
 
Das ist aber nicht besonders aussagefähig, da möglicherweise im OI das Ereignis nicht zugewiesen ist, obwohl die Methode im Source steht ;)

Muetze1 26. Jun 2009 11:17

Re: IniFile wird nicht erstellt!
 
Zitat:

Zitat von jaenicke
So etwas würde ich eher in OnCloseQuery ausführen statt in OnClose.

Wie kommt man denn auf eine solche Idee? Damit du die INI jedesmal neuschreibst, wenn der Benutzer beim "wirklich beenden" Dialog nochmal nein sagt?

Die Definition von OnClose und OnCloseQuery sind eindeutig und somit ist auch das zu benutzende Ereignis eindeutig. Kein Wunder, dass es soviele komische Programme gibt...

jaenicke 26. Jun 2009 11:26

Re: IniFile wird nicht erstellt!
 
Zitat:

Zitat von Muetze1
Wie kommt man denn auf eine solche Idee? Damit du die INI jedesmal neuschreibst, wenn der Benutzer beim "wirklich beenden" Dialog nochmal nein sagt?

Weil das System bei OnCloseQuery zuerst freundlich fragt und man bei OnClose in Gefahr läuft beim Herunterfahren vorher abgewürgt zu werden, wenn das System ausgelastet ist und der Benutzer das Beenden erzwingt... :roll: (ich habs mal ausprobiert als es da Probleme gab)
Ich nutze allerdings normalerweise auch OnClose, wenn es keine kritischen Sachen sind, die da ablaufen.

Und wenn man beim Dialog ein Nein bekommt und CanClose auf False setzt und trotzdem speichert, dann ist das ja kein Zwang, man kann ja auch nur speichern, wenn das Schließen zugelassen wird...

// EDIT:
Ach ja: ganz andere Idee noch:
Wenn es sich hier nicht um das Hauptformular handelt, dann wird beim Schließen des Programms das OnClose oder OnCloseQuery gar nicht ausgeführt!

Muetze1 26. Jun 2009 11:54

Re: IniFile wird nicht erstellt!
 
Zitat:

Zitat von jaenicke
Und wenn man beim Dialog ein Nein bekommt und CanClose auf False setzt und trotzdem speichert, dann ist das ja kein Zwang, man kann ja auch nur speichern, wenn das Schließen zugelassen wird...

Nun ja, wenn ich vorher meinen USB Stick (oder früher Disketten) vor dem Speichern wieder einlegen muss, da zwischenzeitlich gewechselt/abgezogen, dann hat man im OnCloseQuery ein Problem.

Und mit dem abwürgen beim OnClose: man sollte dort nicht anfangen noch grossartig langwierige Dinge zu erledigen. Aber bei einem abwürgen durch den Benutzer gibt es eh keine sicheren Datenbestände, dass ist dem Nutzer bei solchen Aktionen wohl klar, sonst würde er nicht anfangen "Programm trotzdem schließen", etc. Windows weist ihn genau auf diese Gefahren hin...

Popov 26. Jun 2009 12:02

Re: IniFile wird nicht erstellt!
 
Wenn aber der Rechner (automatisch) runtergefahren wird, dann wird zwar eine Abfrage in OnCloseQuery berücksichtigt, aber nur paar Sekunden. Dann wird das Programm abgeschossen. Ohne Abfrage würde alles gespeichert.

Also Wenns gibt es jede Menge. Letztendlich muß man selbst entscheiden was besser für einen ist.

Luckie 26. Jun 2009 13:11

Re: IniFile wird nicht erstellt!
 
Ich glaube, ihr diskutiert gerade am Problem vorbei.

Brunhilde 26. Jun 2009 14:44

Re: IniFile wird nicht erstellt!
 
Versuch mal ParamStr(0) statt Application.ExeName

Popov 26. Jun 2009 16:35

Re: IniFile wird nicht erstellt!
 
Das ist das Gleiche. Das Eine ist das Result des Anderen.

DeddyH 26. Jun 2009 17:20

Re: IniFile wird nicht erstellt!
 
Vielleicht ist es nicht ganz durchgekommen, aber ist das Ereignis auch zugewiesen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 Uhr.
Seite 2 von 3     12 3      

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