Danke schön euch beiden.
Ich hab das nun wie folgt umgesetzt:
Delphi-Quellcode:
type
TSearchThread = class(TThread)
protected
procedure Execute; override;
end;
var
FormMain: TFormMain;
SearchThread:TSearchThread;
[...]
procedure TSearchThread.Execute;
begin
while not Terminated do
begin
SucheTextInDateien(FormMain.EditSuche.Text);
end;
end;
procedure TFormMain.btnSucheClick(Sender: TObject);
begin
if btnSuche.Caption='Abbrechen' then
begin
SearchThread.Terminate;
btnSuche.Caption:='Suchen';
FormMain.Status.Panels.Items[0].Text:='Suche abgebrochen !';
exit;
end;
if trim(EditSuche.Text)='' then exit;
btnSuche.Caption:='Abbrechen';
SearchThread := TSearchThread.Create(false);
SearchThread.FreeOnTerminate := true;
end;
Es funktioniert auf jeden Fall.
mfg
Scrutor