Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Proced. wird unterbrochen ->Proced. nicht weitermachen !!!! (https://www.delphipraxis.net/53169-proced-wird-unterbrochen-proced-nicht-weitermachen.html)

hardcorehorst 11. Sep 2005 18:16


Proced. wird unterbrochen ->Proced. nicht weitermachen !!
 
Also wenn meine procedure nennen wir sie mal Procedure1
von einem onclick ereignis unterbrochen wird,
welches Procedure2 auslöst
soll Procedure1 nach der beendigung von procedure2 NICHT weiter ausgeführt werden !!

wie stelle ich dieses am besten an ????

SirThornberry 11. Sep 2005 18:20

Re: Proced. wird unterbrochen ->Proced. nicht weitermache
 
im Normalfall geht es gar nicht das procedure1 durch einen Klick unterbrochen wird außer du arbeitest mit Threads bzw. Application.ProcessMessages. Ansonsten musst du das mit einer Hilfsvariablen machen.
Delphi-Quellcode:
procedure procedure2;
begin
  procedure2betreten := True;
  //do something
end;

procedure procedure1;
begin
  procedure2betreten := False;
  [...]
    Application.ProcessMessages;
    if procedrue2betreten then
      Exit;
  [...]
end;

Schlendrian 11. Sep 2005 18:22

Re: Proced. wird unterbrochen ->Proced. nicht weitermache
 
Hi :hi:,

im OnClick-Event schreibst du erst die Prozedur, die ausgeführt werden soll und danach setzt du ein Exit.

ichbins 11. Sep 2005 18:23

Re: Proced. wird unterbrochen ->Proced. nicht weitermache
 
Mach eine globale Variabe
Delphi-Quellcode:
var
weitermachen:boolean;
dann schreibst du in die proc1 rein:
Delphi-Quellcode:
procedure proc1;
begin
  weitermachen:=true;
  ...blablabla...
  application.processmessages //Hier gelegenheit, button2 zu drücken
  if not weitermachen then exit;
  ...blablabla...
  application.processmessages //Hier gelegenheit, button2 zu drücken
  if not weitermachen then exit;
  ...blablabla...
end;

procedure proc2;
begin
  weitermachen:=false;
end;

hardcorehorst 11. Sep 2005 18:36

Re: Proced. wird unterbrochen ->Proced. nicht weitermache
 
um es noch ein bisschen komplizierter zu machen :

eigentlich ist procedure1=procedure2 nur mit anderen parametern !!

(jetzt bin ich ja mal gespannt :gruebel: )

SirThornberry 11. Sep 2005 18:40

Re: Proced. wird unterbrochen ->Proced. nicht weitermache
 
dann gehts ganz genauso. Je nach dem wie der Parameter aussieht machst du das was wir hier alle in Procedure1 bzw. Procedure2 geschrieben haben.
Delphi-Quellcode:
procedure procedure1(doprocedure2: Boolean);
begin
  if doprocedure2 then
    procedure2betreten := True
  else begin
    procedure2betreten := False;
    [...]
      Application.ProcessMessages;
      if procedrue2betreten then
        Exit;
    [...]
  end;
end;

hardcorehorst 11. Sep 2005 18:50

Re: Proced. wird unterbrochen ->Proced. nicht weitermache
 
besten dank !!! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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