Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
3. Apr 2014
Ich bin immer noch nicht glücklich mit der Geschichte.
Zusammenfassung: Ein TApplicationSettings-Singleton. Es repräsentiert eine .ini-Datei. Spätestens in seinem Destruktor schreibt es nochmal die aktuellen Einstellungen auf die Platte.
Ausgeführt wird von meinem Code alles unter Win7 und XP gleich, keine Frage. Exceptions? Keine.
Beim Programmende sollte auch das Singleton sterben und...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
25. Mär 2014
Das klärt trotzdem meine beiden Fragen nicht:
Warum klappt mein Destruktor (Messagebox, Dateien schreiben) unter Windows 7 immer zuverlässig, unter XP aber nie? Da muss doch noch mehr dahinter stecken...
Was darf ich mir denn nun im Klassendestruktor erlauben? Unter XP sieht es für mich wirklich so aus, als hätte meine Anwendung zu diesem Zeitpunkt nur noch wenige Millisekunden zu leben......
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
24. Mär 2014
Ja, in einer Konsolen-Anwendung mit WriteLn(..) klappt es auf allen Systemen wie erwartet. Komisch.
In meinem konkreten Fall waren es natürlich keine Messageboxen, sondern das abschließende Schreiben der Einstellungen beim Beenden der Anwendung. Auf dem XP-Rechner wurde die Datei noch nicht einmal angelegt (TIniFile.UpdateFile())
Ich hätte auch grade auf einer XP VM schwören können, die...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Der schöne Günther,
24. Mär 2014
Chaos und Verwirrung. Meine Welt ist normalerweise so klein, dass sich sowohl Entwicklung als auch Auslieferung auf Windows 7 vollzieht.
Ausnahmsweise musste nun etwas noch auf Windows XP laufen. Und ich muss schockiert feststellen: Der Klassendestruktor wird nicht ausgeführt.
Gegeben sei TMySingleton = class
class destructor Destroy();
class constructor Create();
end;
und...