![]() |
Funktionszeiger
Hmm, ich hab wieder gesucht und nichts richtiges gefunden... Wie implementiere ich in Delphi Funktionszeiger? Habt ihr da vllt nen Beispiel, die Typdefinition hab ich, aber wie gehts jetzt genau weiter?
Delphi-Quellcode:
Danke schonmal :)
TMathFunc = Function(l : TExerciseInfoList; Excluded : TExcluded) : Currency;
|
Re: Funktionszeiger
Das hängt davon ab, was du tun willst. Normalerweise verwendest du diesen Typen jetzt für die Deklaration von Parametern (wenn du Callbacks verwenden willst) oder von Feldern und Eigenschaften (für Events).
|
Re: Funktionszeiger
also ich habe ein Codestücke was wirklich oft 8 mal glaub ich insg. redundant ist und sich nur in einer zeile, einem funktionsaufruf unterscheidet....
also so weit bin ich, die funktion wird aufgerufen allerdings geht der rückgabewert verloren Oo Typdefinition
Delphi-Quellcode:
Funktion
TMathFunc = Function(l : TExerciseInfoList; Excluded : TExcluded) : Currency;
Delphi-Quellcode:
Aufruf
function getAnyAll(f : TMathFunc) : Currency;
var i, j : Word; res : Currency; begin i := 0; j := 0; RESULT := 0; for i := low(esRelevant) to high(esRelevant) do if esRelevant[i] then begin res := f(earTimes[i], exExcluded); if res <> 0 then begin RESULT := RESULT + res; inc(j); end; end; if (j = 0) then RESULT := 0 else RESULT := RESULT / j; end;
Delphi-Quellcode:
Keine Fehlermeldung kein nichts... "getAvailableDataSets" gibt den richtigen Wert zurück, getAny hat dann aber nen ganz anderen wert Oo.
sgDetailView.Cells[sgDetailView.ColCount - 1,1] := myFlToStr(getAnyAll(@getAvailableDataSets));
|
Re: Funktionszeiger
Fehler gefunden... alles Richtig... Currency und Word sollte man nicht vermischen :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 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