![]() |
Prozeduren innerhalb einer Prozedur
Hallo!
Ich stehe wiedereinmal vor einem Problem. Ich hab ja die Möglichkeit Prozeduren innerhalb von Prozeduren zu setzen. Wie kann ich die zuvor deklarieren dass ich die Prozeduren untereinander aufrufen kann. Also:
Delphi-Quellcode:
Normal würde ich wenn sie nicht in der Prozedur stehen würden in dem Interface-Teil der Unit deklarieren. Aber das funktioniert hier nicht bzw. ich weiß nicht wie.
procedure Hauptprozedur...;
procedure eins...; begin // Prozedur zwei aufrufen zwei; // Kann nicht gefunden werden (undefinierter Bezeichner) end; procedure zwei...; begin // ... end; procedure drei...; begin // Prozedur eins aufrufen, funktioniert. eins; end; var ... begin drei; end; Das Problem: Die Hauptprozedur (Beispielname) wird in einem Thread gestartet. Und um sicherzustellen dass die anderen Prozeduren die die Hauptprozedur nutzt Threadsicher sind möcht ich sie eben innerhalb der Prozedur deklarieren weil ich sie auch nur da brauche. Wie mach ich das richtig? Gruß, Robert PS: Falls das Thema bereits existiert so entschuldigt bitte. Ich wusste nicht so recht nach was ich suchen sollte. |
Re: Prozeduren innerhalb einer Prozedur
Tja, das ist dann halt "klassische" Prozedurale Programmierweise (wie beim gutan alten Turbopascal).
Soll heissen, Jee Prozedur/Funktion kennt nur die Proceduren/Funktionen die VOR ihr deklariert wurden. Da kommt es also auf die Reihenfolge an in der du die Prozeduren anordnest. In deinem Beispiel muesste dann also Prozedur 2 einfach vor Prozedur 1 deklariert werden, dann kennt die Prozedur 1 die 2 und kann Sie auch aufrufen. |
Re: Prozeduren innerhalb einer Prozedur
Also hab ich anders keine Chance? Mpf... die Reihenfolge Ändern würde nicht viel bringen da Prozedur zwei auch Prozedur eins benötigt (Bsp.). Dammig :wall:
Aber trotzdem Danke! |
Re: Prozeduren innerhalb einer Prozedur
Ich weiß nicht, ob das auch mit Prozeduren innerhalb von Prozeduren klappt, aber hast dus schonmal mit
Delphi-Quellcode:
versucht?
procedure Main;
procedure zwei; forward; procedure eins; begin zwei; end; procedure zwei; begin ShowMessage('Hallo'); end; //Main begin eins; end; //edit: Hab das gerade bei ner Buttonclick-Methode statt der hier obligatorischen "Main"-Methode verwendet und es klappt :) |
Re: Prozeduren innerhalb einer Prozedur
Muha!! Danke! :kiss: :hello: lol
|
Re: Prozeduren innerhalb einer Prozedur
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 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-2025 by Thomas Breitkreuz