2011-12-08 66 views
11

如果我有一個接口,如:是否可以使用RTTI在接口上獲取GUID的值?

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; 

反正是有得到使用RTTI的GUID的價值?我正在使用Delphi XE。

回答

20
uses 
    TypInfo; 

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

1太糟糕的[文檔】(http://docwiki.embarcadero.com/VCL/en/TypInfo.TTypeData)是迄今爲止過時....... –

+1

哇,這頁面完全是誤導性的。注意自我:總是看到源頭。 –

+0

謝謝你,工作。 – rhody

相關問題