Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DocE,
11. Aug 2006
Hallo xaromz,
das scheint es zu sein.
Die Sache hat mich einfach nicht ruhen lassen, auch wenn der Fehler mit Synchronize behoben werden konnte. Jetzt ist auch klar warum. Durch Synchronize wird das ganze ja wieder im Hauptthread ausgeführt, somit ist Erzeuger und Freigeber des Windows wieder derselbe.
Vielen Dank!
Jetzt ist nur noch die Frage, was besser ist. Erzeugen und Freigeben...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DocE,
11. Aug 2006
Hallo Muetze,
Eigentlich dürften überhaupt keine WM_TIMER Botschaften auflaufen...
Ich habe noch ein bißchen rumprobiert (einen "eigenen" TMyTimer geschrieben und anschließend auf den constructor, den destructor und eine leere WndProc reduziert) und herausgefunden, dass es an folgendem liegt:
destructor TMyAllocate.Destroy;
begin
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DocE,
10. Aug 2006
Hallo onlinekater,
Heißt das, dass TMeineKomponente "synchronized" freigegeben werden muss, da TTimer ebenfalls einen Thread erzeugt?
Ich finde das ganze dennoch etwas unlogisch. Der Timer war nie Enabled, also aktiv... Wieso macht der plötzlich nach der Freigabe Probleme? Ein Free auf den Timer sollte doch eigentlich das ganze ordentlich beenden.
Soweit ich das überblicken kann,...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DocE,
10. Aug 2006
Hallo jensw_2000,
das funktioniert leider nur solange, wie Du den destructor falsch deklarierst. Ich gehe davon aus, dass Du diesen mit
destructor Destroy;
eingebaut hast und nicht mit
destructor Destroy; override;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DocE,
10. Aug 2006
Hallo zusammen!
Ich habe ein kleines Problem mit einem TThread.
In dem Thread erstelle ich dynamisch eine andere Komponente, die wiederum (u.a.) ein TTimer-Objekt enthält. Das stellt an für sich kein Problem dar. Gibt man jedoch die Komponente am Ende des Thread-Executes mit Free oder FreeAndNil frei, so kommt es zu folgenden Fehlermeldungen:
Mit Debugger:
und