AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Prozeduren innerhalb einer Prozedur

Ein Thema von Puhbaehr · begonnen am 24. Nov 2005 · letzter Beitrag vom 24. Nov 2005
Antwort Antwort
Puhbaehr
(Gast)

n/a Beiträge
 
#1

Prozeduren innerhalb einer Prozedur

  Alt 24. Nov 2005, 22:10
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:
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;
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.
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.
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#2

Re: Prozeduren innerhalb einer Prozedur

  Alt 24. Nov 2005, 22:19
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.
  Mit Zitat antworten Zitat
Puhbaehr
(Gast)

n/a Beiträge
 
#3

Re: Prozeduren innerhalb einer Prozedur

  Alt 24. Nov 2005, 22:22
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

Aber trotzdem Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Prozeduren innerhalb einer Prozedur

  Alt 24. Nov 2005, 22:23
Ich weiß nicht, ob das auch mit Prozeduren innerhalb von Prozeduren klappt, aber hast dus schonmal mit
Delphi-Quellcode:
 procedure Main;

procedure zwei; forward;

procedure eins;
begin
  zwei;
end;

procedure zwei;
begin
  ShowMessage('Hallo');
end;

//Main
begin
  eins;
end;
versucht?

//edit: Hab das gerade bei ner Buttonclick-Methode statt der hier obligatorischen "Main"-Methode verwendet und es klappt
Julian J. Pracht
  Mit Zitat antworten Zitat
Puhbaehr
(Gast)

n/a Beiträge
 
#5

Re: Prozeduren innerhalb einer Prozedur

  Alt 24. Nov 2005, 22:27
Muha!! Danke! lol
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Prozeduren innerhalb einer Prozedur

  Alt 24. Nov 2005, 22:29
Zitat von Pubaehr:
Nana, übertreibs mal nicht
Julian J. Pracht
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz