Ja ich will auch immer den Code sehen, aber da ist überhaupt nichts auffälliges
hier die Thread-Klasse:
Delphi-Quellcode:
TBackgroundThread = class(TThread)
Text : String;
procedure setLabelText;
procedure Execute; override;
constructor Create;
end;
procedure TBackgroundThread.setLabelText;
begin
if Text <> OverviewF.lblTaskBackground.Caption then
begin
Log.AddLog('Setting label to from "' + OverviewF.lblTaskBackground.Caption + '" to "' + Text + '"');
end;
OverviewF.lblTaskBackground.Caption := Text;
//Ja, ich hab auch alles möglich versucht update zu daten oder mit progressmessages zu arbeiten
end;
procedure TBackgroundThread.Execute;
begin
while Application.Active do
begin
OverViewF.cmdProgressBackground.Reset;
if Tasks.Count > 0 then
begin
Tasks[0].runTask(OverViewF.cmdProgressBackground);
Text := Log.getLastRow;
Synchronize(setLabeltext);
end
else
begin
Text := 'Nothing to do';
Synchronize(setLabeltext);
end;
Sleep(10);
end;
Log.AddLog('Terminating Background Thread!');
end;
constructor TBackgroundThread.Create;
begin
inherited Create;
Log.AddLog('Creating Background Thread!');
end;
Das Thread wird beim OnShow der Form gestartet.