AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Wie kann ein Zeiger auf eine Funktion als Paramater übergeben werden?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ein Zeiger auf eine Funktion als Paramater übergeben werden?

Offene Frage von "FriendOfDelphi"
Ein Thema von FriendOfDelphi · begonnen am 26. Nov 2010 · letzter Beitrag vom 9. Dez 2010
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.375 Beiträge
 
Delphi 12 Athens
 
#8

AW: Wie kann ein Zeiger auf eine Funktion als Paramater übergeben werden?

  Alt 26. Nov 2010, 16:55
Eigentlich ist es recht einfach.

mögliche Funktionen/Methoden:
Delphi-Quellcode:
type
  TMyClass = class
    function Test2(...): ...;
    class function Test3(...): ...;
  end;

function Test1(...): ...;
begin
end;
und die zugehörigen Deklarationen für entsprechende Funktions-/Methoden-Zeiger, an welche man Diese übergeben könnte:
Delphi-Quellcode:
type
  TTest1 = function(...): ...;
  TTest2 = function(...): ... of object;
  TTest3 = function(...): ... of class;
  TMegaTest = reference to function(...): ...;
1: normale Funktionen/Prozeduren
2: Objekt-Methoden (Funktionen eines instantiierten Objekts)
3: Klassen-Methoden (Funktionen einer Klasse ohne Objektinstanz)

Ob man diese Typen jetzt für Property oder für Parameter nimmt, ist dabei egal.

Das TCustomsort war mir nur eingefallen, weil es da mal als Parameter genutzt wird, aber leider war das nur ein Beispiel für eine "normale" Funktion.


[edit]
die 3 ist falsch: für Klassenmethoden nimmt man auch das of Object , nur daß dann der interne Objektzeiger als Zeiger auf die Klasse mißbraucht wird.



TMegaTest nimmt eigentlich fast alles auf, was es irgendwie gibt ... sogar die anonymen Methoden.
Aber dieses gibt es erst seit Delphi 2010 (oder so).
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (26. Nov 2010 um 17:02 Uhr)
  Mit Zitat antworten Zitat
 


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 13:19 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