2011-12-08 10 views
11

Si tengo una interfaz como:¿Es posible obtener el valor de un GUID en una interfaz usando RTTI?

IPluginAPI = interface 
['{590DFF0B-CA00-46CC-84B0-3848103D4C5A}'] 
    function add (a : double; b : double) : double; 
    function sub (a : double; b : double) : double; 
    function mult (a : double; b : double) : double; 
    function divide (a : double; b : double) : double; 
end; 

¿Hay alguna forma para obtener el valor del GUID utilizando RTTI? Estoy usando Delphi XE.

Respuesta

20
uses 
    TypInfo; 

Guid := GetTypeData(TypeInfo(IPluginAPI))^.Guid; 
+4

+1 Lástima que el [Documentación] (http://docwiki.embarcadero.com/VCL/en/TypInfo.TTypeData) es hasta ahora fuera de fecha ....... –

+1

Wow, eso la página es francamente engañosa. Nota para uno mismo: siempre vea la fuente. –

+0

Gracias, eso funcionó. – rhody

Cuestiones relacionadas