Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi prozedurvariable (https://www.delphipraxis.net/6203-prozedurvariable.html)

clownxx 3. Jul 2003 13:13

sorry, das war ein Tipfehler, ich hab das schon so! Aber der Fehler ist immer noch

sakura 3. Jul 2003 13:20

Also folgender Code wird bei mir problemlos kompiliert und ausgeführt.
Delphi-Quellcode:
function Plus(X, C: Integer): Integer;
begin
  Result := X + C;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  F: function(A, B: Integer): Integer;
begin
  F := Plus;
  ShowMessage(IntToStr(F(1, 2)));
end;
...:cat:...

Sanchez 3. Jul 2003 13:45

Bei clownx hat die Funktion Plus keine Parameter erhalten

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var
    f: function(a,b:integer): integer;
begin
   f:= plus;
end;
Plus erwartet aber 2 integervariablen

mfg Daniel

sakura 3. Jul 2003 13:54

@Sanchez0815: Du sprichst die Zuweisung der Variablen an, da werden keine Parameter angegeben. Siehe auch mal in meinem Code nach ;-)

...:cat:...

Sanchez 3. Jul 2003 16:31

Sorry, hab nur flüchtig gelesen :oops:

mfg Daniel

sakura 3. Jul 2003 21:15

Die Diskussion zum Unterschied zwischen Prozeduren und Funktionen kann hier forgesetzt werden:


In diesem Thread bitte nur zu "Prozedurvariablen" posten.
Danke

SAKURA

...:cat:...

2_daniel 13. Jul 2006 12:54

hi,
bin gerade dabei mit prozeduralen Typen zu "spielen"

in deinem Beispiel ist aber die "plus"-function ist alleinstehen, gehört zu keiner klasse.

Zitat:

Zitat von sakura
Also folgender Code wird bei mir problemlos kompiliert und ausgeführt.
Delphi-Quellcode:
function Plus(X, C: Integer): Integer;
begin
  Result := X + C;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  F: function(A, B: Integer): Integer;
begin
  F := Plus;
  ShowMessage(IntToStr(F(1, 2)));
end;
...:cat:...

ich würde gern was in der richtung machen :
Delphi-Quellcode:
 TForm2 = class(TForm)
    Button1: TButton;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    function somefunc : Integer;
Delphi-Quellcode:

 TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
  private
    { Private-Deklarationen }
var
  F, G: function: Integer;
  I: Integer;
....

  f := tform2.somefunc;
  i := f;
..also meiner prozedurale Variable eine Funktion zuweisen die in einem anderen Formular / Klasse defineirt ist....und da meckert delphi immer noch...

in der Delphi Hilfe scheinen alle zusammen zu gehören:
Delphi-Quellcode:
var
  F, G: function: Integer;
  I: Integer;
  function SomeFunction: Integer;
    ...
  F := SomeFunction;   // Zuweisung von SomeFunction an F
  G := F;                // Kopieren von F zu G
  I := G;                // Funktionsaufruf; Zuweisung des Ergebnisses an I
...irgendwelche Tipps wie ich das lösen kann ???

gruss
daniel

Phistev 13. Jul 2006 13:02

Re: prozedurvariable
 
Syntax für Methoden:
Delphi-Quellcode:
var f: function(a,b:integer):integer of object;


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:55 Uhr.
Seite 2 von 2     12   

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