also danke schon mal für die vielen Antworten ...
Habe jetzt viel gelesen aber bin noch nicht wirklich schlauer. Habe mir ein kleines Testprogramm gemacht:
Delphi-Quellcode:
unit testcode;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
start: TButton;
Memo1: TMemo;
abbrechen: TButton;
procedure startClick(Sender: TObject);
procedure abbrechenClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
function inserts() :
string;
var
Form1: TForm1;
ThreadID: DWORD;
ThreadHandle: THandle;
implementation
{$R *.dfm}
function inserts() :
string;
var
i : integer;
begin
i := 0;
while i < 10000
do begin
Form1.Memo1.Lines.Add('
Number '+inttostr(i));
sleep(1000);
i := i + 1;
end;
EndThread(0);
end;
procedure TForm1.abbrechenClick(Sender: TObject);
begin
// ?
end;
procedure TForm1.startClick(Sender: TObject);
begin
ThreadHandle:=CreateThread(
nil, 0, TFNThreadStartRoutine(@inserts),
nil, 0, ThreadID);
end;
end.
was müsste ich tun, damit bei TForm1.abbrechenClick der Thread beendet wird bzw. wann weiß ich in startClick wann function inserts fertig ist?
Danke und LG