Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Problem mit Record-Parametern an MethodenPointer bzw. FunktionsPointer

  Alt 21. Jun 2021, 18:07
Oder die Generics -> reference to

Alle "offiziellen" Möglichkeiten, ohne an der automatischen Typbehandlung rumzupfuschen:
Delphi-Quellcode:
type
  TTest = class
    function A(): Boolean;
    function B(): Boolean; virtual; // bzw. overload oder auch dynamic
    class function C(): Boolean;
    class function D(): Boolean; virtual; // bzw. overload oder auch dynamic
    class function E(): Boolean; static;
  end;
  
function F(): Boolean;

{
  E entspricht F
  A = C (nur eben TClass statt TObject, beim Self)
  A und C auch mit Data/Self=NIL möglich
}


var
  X: function(): Boolean; // E oder F
  Y: function(): Boolean of object; // A, B, C oder D
  Z: reference to function(): Boolean; // alles, inkl. anonymer Methoden (nicht direkt als VAR ... muß einen TYPE haben)
  O: TTest;
  L: class of TTest;


O := TTest.Create;

X := TTest.E; // oder L.E oder O.E inkl. O=nil
X := F;
Y := O.A; // auch O=nil
Y := O.B;
Y := TTest.C; // oder L.C oder O.C inkl. L=nil
Y := TTest.D; // oder L.D oder O.D
Z := egal was
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Jun 2021 um 19:21 Uhr)
  Mit Zitat antworten Zitat