Thema: Delphi Programmabsturz! Warum?

Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Programmabsturz! Warum?

  Alt 21. Feb 2006, 21:34
Zitat von m_junglas:
Die Funktion, die beim OnTerminate-Ereignis ausgeführt wird macht etwa folgendes:
Delphi-Quellcode:
StatusBar.Panels[0].Text := 'Identnummernliste steht bereit';
{ andere Dinge sind auskommentiert, Absturz erfolgt dennoch }
IdentListThread.Free;
IdentListThread := nil;
Da greifst du unsynchronisiert auf die VCL zu. Lagere das aus in eine extra Prozedur und rufe es synchronisiert auf:

Delphi-Quellcode:
procedure TThread.Blubb;
begin
  StatusBar.Panels[0].Text := 'Identnummernliste steht bereit';
end;

procedure TThread.Terminate;
begin
  Synchronize(Blubb);
end;
Also nur so grob die Art und Weise. Also so würde ich's machen.
  Mit Zitat antworten Zitat