![]() |
Funktionen mit bestimmten Typ verwenden (tmyfunction)
Hi,
ich will Funktionen eines bestimmten Typs verwenden, also etwa so:
Delphi-Quellcode:
nur meckert der Compiler beim Zugriffsversuch auf x. result funktioniert.
type
tgraphfunction = function(x:real):real; [...] function f1:tgraphfunction; begin result:=x; end; an was liegt das? :gruebel: |
Re: Funktionen mit bestimmten Typ verwenden (tmyfunction)
Du hast deine Funktion so eratellt, dass sie eine Vriable des Typs tgraphfunction zurückgibt ;)
Ich weis nicht, ob mn überhaupt eine funktin anhand eines typs deklarieren kann ... imho musst du die argumente ausschreiben ;) |
Re: Funktionen mit bestimmten Typ verwenden (tmyfunction)
Öhm.. ich fürchte du hast das falsch verstanden.. x ist Parameter von Result(). Deine Funktion gibt eine TMyFunction zurück, also eigentlich eine function(x: Real): Real; ;)
Woher soll der Compiler das x denn auch nehmen?^^ In den Parametern von f1 steht ja nix. |
Re: Funktionen mit bestimmten Typ verwenden (tmyfunction)
:oops:
mit '=' gehts auch nicht aber bei DLLs gibts sowas doch irgendwo? wie kann ich dann ein Array of function erstellen? //edit jetzt hab ichs mal so gelöst:
Delphi-Quellcode:
function graphfunc(x:real;mode:integer):real;
begin case mode of 1: result:=1*power(x,3); 2: result:=0.5*power(x,3); end; end; |
Re: Funktionen mit bestimmten Typ verwenden (tmyfunction)
Nochmal: Die Variable "x" wird nirgends in deiner Funktion "f1" deklariert, du kannst also unmöglich darauf zugreifen. Es ist natürlich möglich, dass deine Funktion einen Funktionszeiger zurückliefert, aber das hat dann nichts mit den Argumenten deiner Funktion f1 zu tun.
Zitat:
Delphi-Quellcode:
procedure P1;
begin ... end; procedure P2; begin ... end; procedure P3; begin ... end; type TProc = procedure; var procedures: array[0..2] of TProc; begin procedures[0] := @P1; procedures[1] := @P2; procedures[2] := @P3; end; |
Re: Funktionen mit bestimmten Typ verwenden (tmyfunction)
danke :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 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