AGB  ·  Datenschutz  ·  Impressum  







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

Sichtbarkeit Prozduren in Prozeduren

Ein Thema von nakaramia · begonnen am 23. Sep 2013 · letzter Beitrag vom 24. Sep 2013
Antwort Antwort
Seite 1 von 2  1 2      
nakaramia

Registriert seit: 1. Mär 2013
25 Beiträge
 
Delphi 2007 Enterprise
 
#1

Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 17:18
Hallo,

ich habe ein Programm in Delphi 2007, in dem in einer Prozedur ein Dutzend anderer enthalten sind. Eine davon würde ich gern splitten, um keine Code-Kopien zu erzeugen. Dazu müsste die neue Prozedur aber von den inneren Prozeduren gesehen/aufgerufen werden können. Gibt es so eine Möglichkeit? Ich habe das mal als Pseudo-Code zusammengeschrieben.

Delphi-Quellcode:
procedure TMyParent.IchBinGanzOben;
procedure Kind1;
begin
  //hier soll KindN aufgerufen werden können
end;

procedure KindN;
begin
  //ausgelagerter Code
end;

begin
  //hier wird Kind1 aufgerufen
end;
Notfalls könnte ich KindN in Kind1 reinschreiben.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 17:31
... einfach KindN vor Kind1 verschieben

Wenn Du gegenseitige Aufrufe brauchst müsstest Du die Prozeduren als (private oder protected) Methoden deklarieren.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

AW: Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 17:33
Wenn Du gegenseitige Aufrufe brauchst müsstest Du die Prozeduren als (private oder protected) Methoden deklarieren.
Oder die Prozedurköpfe im interface-Abschnitt veröffentlichen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 17:34
Oder die Prozedurköpfe im interface-Abschnitt veröffentlichen.
Bei lokalen Prozeduren?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 17:37
Lokal und gegenseitiger Aufruf geht schlecht zusammen, oder?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 17:40
Lokal und gegenseitiger Aufruf geht schlecht zusammen, oder?
Wieso nicht?

Delphi-Quellcode:
procedure IchBinGanzOben;

  procedure KindN; forward;

  procedure Kind1;
  begin
    KindN;
  end;

  procedure KindN;
  begin
    Kind1;
  end;

begin
  //hier wird Kind1 aufgerufen
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

AW: Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 17:41
Hast ja gewonnen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 17:42
Ahh! Wusste ich gar nicht...
Um so besser.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 17:43
Oder Kapselung einzuführen.

Delphi-Quellcode:
TSomeKinds = record
private
  FSomeInput: TSomeInput;
  FSomeOutput: TSomeOutput;
  procedure DoSomething;
  procedure DoSomethingElse;
public
  procedure Kind1;
  procedure Kind2;
  procedure KindN;
  property SomeInput: TSomeInput read FSomeInput write FSomeInput;
  property SomeOutput: TSomeOutput read SomeOutput write FSomeOutput;
end;

procedure TMyParent.IchBinGanzOben;
begin
  FSomeKinds.Kind1;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

AW: Sichtbarkeit Prozduren in Prozeduren

  Alt 23. Sep 2013, 18:01
Oder Kapselung einzuführen.
Ist in diesem Kontext aber nicht sehr sinnvoll. Allerhöchstens als private dann, aber lokal und ggfls. mit forward ist dann eventuell doch noch schöner.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20: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