Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by samso,
12. Feb 2010
Dann würde ich die Execute-Schleife noch etwas verändern:
while not Terminated do begin
if WaitForSingleObject(ChangeHandle,500) = WAIT_OBJECT_0
then begin
Synchronize(AskAfterFileChanged);
FindNextChangeNotification(ChangeHandle);
end;
end;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by samso,
12. Feb 2010
Mir fällt erstmal auf, dass bei destroy das override fehlt. Also probiere doch mal.
destructor Destroy; override;
Vielleicht war es das ja schon?
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by samso,
11. Feb 2010
Also für mich hört sich das nach einem Zugriff auf ein bereits freigegebenes Objekt an. Der Fehler sitzt vermutlich ausserhalb des Threads. Beim Tab-Wechsel wird ja wahrscheinlich FFileChanged.Terminate aufgerufen. Danach ist der Inhalt von FFileChanged ungültig und darf nicht mehr angefasst werden, da sich der Thread ja selbst freigibt. Am besten also vielleicht eine solche Konstruktion...