Autor Beitrag
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 20.11.02 10:24 
Hallo,
ich bin verzweifelt mit diesem Problem: Ich habe eine MDI-Applikation, in der zur Laufzeit ein FOrmular als MDIChild erzeugt wird. Mehrfache Instanzen dieses Formulars sind möglich.
Im FOrmClose-Event mache ich (Sender as TForm).Free;

Soweit funktionierte alles, bis jetzt. Hab kaum was geändert, das größte waren Compiler-Bedingungen für eine Shareware-Version. Und plötzlich passierte folgendes:
Sobald man das erzeugte Formular schloss, sollte es eigentlich verschwinden. Das passiert auch, aber der Refresh bleibt mitten im VOrgang hängen (das Zeug dahinter wird teilweise wieder angezeigt) und der komplette PC hängt, egal ob ich den Debugger laufen hab oder nicht.

Achja, hab die Compiler-Bedingungen auch wieder gelöscht is immer noch da und "Alle Projekte erzeugen" hat auch nix gebracht.
Weiß einer was?

Gruß, Uwe
UGrohne Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 20.11.02 10:45 
Hab jetzt meinen ganzen Code umgekrempelt und zum Schluss rausgefunden, worans lag: Der Code um die CPU-Frequenz zu ermitteln (nur als Joke) hat das ganze verursacht, auch wenn er in einer ganz anderen Unit ohne jeglichen Zusammenhang stand:

www.auq.de/viewtopic...p;highlight=frequenz

Kann mir einer sagen, was das damit zu tun hat? Ich wäre nie auf die Idee gekommen, das rauszuschmeissen, wenn ich nicht unter Zeitdruck gestanden wäre....
aogwaba
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109



BeitragVerfasst: Mi 20.11.02 18:19 
Hi!
Ob der Code des 'Joke' an den Abstürzen schuld ist, weiss ich nicht.

Zitat:

Im FOrmClose-Event mache ich (Sender as TForm).Free;

Hiermit rufst du den eigenen Destructor rekursiv auf.

cu
waba
UGrohne Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 20.11.02 18:52 
Mit dem Destruktor hab ich ja keine Probleme, der funktioniert ja so.

Es lag an der Funktion zur Berechnung der Frequenz, als die draußen war, hats ja funktioniert. Ich würde nur gerne wissen, was daran nicht stimmt.

Gruß, Uwe