Einzelnen Beitrag anzeigen

Friday

Registriert seit: 6. Mai 2008
101 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TRTTIMethod.Invoke eines Interface ausführen

  Alt 10. Nov 2022, 21:22
OK, wenn es NUR "Eigenes" ist,
aber ALLE Interfaces implementieren 3 Funktionen für die Speicherverwaltung,
und Zwei davon treffen auf deine Bedingungen zu. (hat Result und keine Parameter)

Delphi-Quellcode:
  IInterface = interface
    ['{00000000-0000-0000-C000-000000000046}']
    function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
    function _AddRef: Integer; stdcall;
    function _Release: Integer; stdcall;
  end;
...
diese Funktionen werden mir an dieser Stelle aber nicht zurück gegeben.
Der Serializer, bzw. TRTTIType.GetMethods liest nur die Methoden die explizit in einem folgend deklarierten Interface definiert sind:
Delphi-Quellcode:
IMyInterface = interface(IInterface)
function MyFunc1: interger;
function MyFunc2: interger;
  Mit Zitat antworten Zitat