Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: TGUID von Interface-Instanz herausfinden

  Alt 7. Mai 2014, 17:12
Ich habe mich jetzt nicht ganz durchgewühlt, aber vom eigentlichen Typ bekommt man ja schnell die GUID:

Delphi-Quellcode:
program Project3;

{$APPTYPE CONSOLE}
{$R *.res}

uses
   System.SysUtils,
   System.TypInfo;

type
   ISomeInterface = interface
      ['{EDC39028-A340-4CA8-8746-0E6B5A6D06F2}']
   end;

   TSomeType = class(TInterfacedObject, ISomeInterface);

var
   someInstance: ISomeInterface;

begin
   try

      someInstance := TSomeType.Create();
      WriteLn( GetTypeData(TypeInfo(ISomeInterface))^.Guid.ToString() );

   except
      on E: Exception do
         WriteLn(E.ClassName, ': ', E.Message);
   end;

   ReadLn;

end.

Aber wie bekommt man nun von einer Referenz (von der, zumindest im Quelltext, ja klar ist von welchem Typ sie ist), den Typ? Das frage ich mich jetzt auch...
  Mit Zitat antworten Zitat