Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi "Anhalten" einer Prozedur mithilfe Button (https://www.delphipraxis.net/84698-anhalten-einer-prozedur-mithilfe-button.html)

albert1985 20. Jan 2007 12:06


"Anhalten" einer Prozedur mithilfe Button
 
Hi,

wie kann man eine zuvor über einen Button gestartete Prozedur mit einem anderen Button wieder beenden ?

MfG

Thorben_K 20. Jan 2007 12:24

Re: "Anhalten" einer Prozedur mithilfe Button
 
so vll

Delphi-Quellcode:
var
  weiter : Boolean;

procedure Test;
var
  i : LongInt;
begin
  while weiter do
  begin
    //was der halt machen soll
  end;

end;

//und mit dem anderem button stellst du halt "weiter" auf false
so geht es denke ich

Jelly 20. Jan 2007 12:30

Re: "Anhalten" einer Prozedur mithilfe Button
 
Das geht so nicht, weil die Applikation keine Messages empfängt während die Prozedur noch läuft. Der Buttonklick wird also erst später abgearbeitet... Wenn schon so, dann etwas anpassen:

Delphi-Quellcode:
var
  weiter : Boolean;

procedure Test;
var
  i : LongInt;
begin
  while weiter do
  begin
    //was der halt machen soll
    application.processmessages ;    // <-- Dies ist eben wichtig
  end;

end;

procedure TForm1.Button1Click (Sender : TObject);
begin
     Weiter := false ;
end ;
Will mans richtig machen, so kommt man um Threads nicht herum. Dafür mal die Forumsuche benutzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz