Hallo und Danke erstmal an alle!
@freak4fun
Habe im obigen (Post1) Code probiert es in der (1)Schleife bzw in der (2) If-Anw. einzufuegen, jedoch ohne Erfolg.
Alternativ habe ich noch folgendes probiert:
Delphi-Quellcode:
Variante2
procedure TForm1.Button1Click(Sender: TObject);
Var b,c:Integer;
begin
For b:=0 to 20000 do
begin
Application.ProcessMessages;
if application.Terminated then
begin
// showmessage(inttostr(b));
break;
end
else
begin
sleep(50);
c:=b;
end;
end;
label1.Caption:=inttostr(b);
end;
procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If Key=VK_RETURN then
application.Terminate;
end;
leider auch ohne Erfolg.
@DeddyH
Habe noch nie mit Threads gearbeitet, werde es mir mal anschauen (jedoch erst in den Ferien
)
@fui-tak
Danke für die Prozedur, kannte ich vorher noch nicht. Deine gepostete Version ging bei mir leider auch nicht. Ich habe als Rückgabewert einen int64 (uint64))bekommen, also keinen Wert aus dem intervall 0-20001.
Allerdings so ging es dann:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var b,c:Integer;
begin
For b:=0 to 20000 do
begin
application.processmessages;
if getasynckeystate(VK_RETURN)<>0 then
break
else
begin
c:=b;
sleep(50);
end;
end;
label1.Caption:=inttostr(c);
end;
Mfg thomas