AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Prozedur aus einer anderen Prozedur aufrufen

Prozedur aus einer anderen Prozedur aufrufen

Ein Thema von Honigdachs · begonnen am 13. Jun 2007 · letzter Beitrag vom 12. Mär 2015
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von PaddyVII
PaddyVII

Registriert seit: 20. Nov 2014
Ort: Pforzheim
75 Beiträge
 
Delphi XE6 Enterprise
 
#21

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 07:18
in XE6 (meiner Erfahrung nach zumindest) kann man einfach seine Prozedur aufrufen, wenn die parameter hat gibt man sie mit,w enn nicht dann nicht so einfach ist das...oder irre ich mich?!
"Irren ist menschlich, aber wenn man richtigen Mist bauen will, braucht man einen Computer."
Dan Rather
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#22

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 07:23
Das ist schon immer so. Eine Prozedur oder Funktion, die keine Parameter erwartet benötigt beim Aufruf die zwei unnötigen Klammern () nicht. Das brauchen vielleicht andere Programmiersprachen, Pascal zumindest noch nie.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#23

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 07:33
Das ist auch garantiert mindestens seit Delphi 7 so.

Es gibt Sprachen, da müssen Proceduren/Funktionen immer mit Parametern aufgerufen werden und sei es nur mit leeren () .
Die Verwunderung/Frage hier bestand nun nur noch darin, ob das auch in/vor Delphi 5 so war.

Der TE meint es ginge nicht, aber andere Tests belegen, daß es doch ging.
Meine "Vermutung": DiePprozedur wurde "anfangs" nach dem Aufruf deklariert. (nicht davor, bzw. ohne rechtzeitige Forwarddeklaration)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (12. Mär 2015 um 07:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#24

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 08:00
Schon zu TurboPascal-Zeiten konnte man auf leere Klammern () beim Aufruf einer Prozedur verzichten, das ist also nichts delphispezifisches.

Wenn es natürlich mehrere Sachen gibt, die test heißen (z.B. eine procedure und eine Variable), dann kanns natürlich echt zum Chaos kommen.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#25

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 08:35
Chaos nicht wirklich.
Es wird ja immer das Test genommen, was als letztes sichtbar ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#26

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 13:03
Das ist schon immer so. Eine Prozedur oder Funktion, die keine Parameter erwartet benötigt beim Aufruf die zwei unnötigen Klammern () nicht. Das brauchen vielleicht andere Programmiersprachen, Pascal zumindest noch nie.
Zumindest dort, wo es sich um eine Prozedurvariable handelt, ist beim Aufruf die Klammerung erforderlich, weil der Compiler sonst nicht erkennt, dass hier die referenzierte Prozedur aufgerufen werden soll.

Soviel zu "noch nie"
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#27

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 13:16
Das ist schon immer so. Eine Prozedur oder Funktion, die keine Parameter erwartet benötigt beim Aufruf die zwei unnötigen Klammern () nicht. Das brauchen vielleicht andere Programmiersprachen, Pascal zumindest noch nie.
Zumindest dort, wo es sich um eine Prozedurvariable handelt, ist beim Aufruf die Klammerung erforderlich, weil der Compiler sonst nicht erkennt, dass hier die referenzierte Prozedur aufgerufen werden soll.

Soviel zu "noch nie"
Was meinst du denn jetzt genau? Hast du dafür mal ein Beispiel?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#28

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 14:27

Was meinst du denn jetzt genau? Hast du dafür mal ein Beispiel?
Ich meinte sowas:

Delphi-Quellcode:
type
  TFunc=Function(): Integer;

Function Bar(): Integer;
begin
  Result := 42;
end;

var
  pFunc: TFunc;
  funcResult: Integer;
begin
  pFunc := Bar;
  funcResult := pFunc;
end.
Aber mit dem aktuellen XE7 funktioniert das, beim Delphi7 hat er aber AFAIR noch gemault, dass er Typ Funktion nicht in Integer verwandelt könne.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#29

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 15:24
OK, sowas gabs unter TurboPascal noch nicht.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#30

AW: Prozedur aus einer anderen Prozedur aufrufen

  Alt 12. Mär 2015, 17:32
Delphi führt an vielen Stellen eine automatische (De)Referenzierung durch.

* Prozedurvariablen
* zuweisen von Prozedurzeigern (x:=@proc = x:=proc)
* Record-Pointer ... sobald da ein Punkt folgt, kann man das ^ weglassen (p^.x = p.x)
(nur bei mehrfachen Pointern muß man aufpassen)
Ist vorallem praktisch, da man den Code später fast problemlos auf Daten-Objekte/Interfaces umstellen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf