Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Procedure aus Procedure aufrufen und 1. sofort beenden (https://www.delphipraxis.net/92290-procedure-aus-procedure-aufrufen-und-1-sofort-beenden.html)

Alexander Roth 17. Mai 2007 15:22


Procedure aus Procedure aufrufen und 1. sofort beenden
 
Hi,

also ich habe ein bisschen kompliziertes Problem.
Also vereinfacht habe ich so was:
Delphi-Quellcode:
procedure A1;
begin
  Mache blabla;
  A2;
end;

procedure A2;
begin
  Mache blablablablablablablabla;
  A1;
end;
Ja, ja ich weis das das ne Endlosschleife ist. Das ist aber so beabsichtigt und auch nicht das Problem. (Ich habe spezielle Abbruchbedingungen drin)

Es ist wichtig, dass NACH A1 wieder A2 aufgerufen wird. Doch zurzeit wird der Stack mit lokalen Variablen (von A1 und oder A2) überfrachtet und es kommt zum Kollaps.
Wie kann ich NACH A1 A2 aufrufen und nicht IN A1?
Und auch:
Wie kann ich NACH A2 A1 aufrufen und nicht IN A2?

Ich kann leider aus Gründen der Struktur nicht bzw. nur extrem umständlich folgendes machen:
Delphi-Quellcode:
procedure A1;
begin
  Mache blabla;
end;

procedure A2;
begin
  Mache blablablablablablablabla;
end;

procedure haupt;
begin
  repeat
    a2;
    a1;
  until abbruchbedinung;
end;
Ist so etwas möglich nicht IN sondern NACH einer Procedure eine andere Procedure aufzurufen ohne dass noch Speicherplatz für die alte Procedure reserviert bleibt?

Gruß Alexander

TBx 17. Mai 2007 15:29

Re: Procedure aus Procedure aufrufen und 1. sofort beenden
 
Nein, meines Wissens ist das nicht möglich. :cry:

Gruß

Thomas

Apollonius 17. Mai 2007 15:31

Re: Procedure aus Procedure aufrufen und 1. sofort beenden
 
Schreib doch eine Prozedur, die die beiden Aufrufe kapselt.

Alexander Roth 17. Mai 2007 15:47

Re: Procedure aus Procedure aufrufen und 1. sofort beenden
 
Hi :hi: ,

anscheinend war es doch nicht so schwer wie ich gedacht hbae. Ich habe nun die "haupt" Procedure geschrieben und es funktioniert tadellos.

Trotzdem danke für eure Antworten.

Gruß Alexander :hi:


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