接口.类;根据名称获取类或接口.该如何处理

接口.类;根据名称获取类或接口.?
有接口
 
      IA=interface

      Ta=class(tinterfaceobject,Ia)


    可以根据字符串Ta   取到   接口   IA   吗?

------解决方案--------------------
function Supports(const Instance: IInterface; const IID: TGUID; out Intf): Boolean; overload;
function Supports(const Instance: TObject; const IID: TGUID; out Intf): Boolean; overload;

------解决方案--------------------
如果 IInterface 有 GUID, 那么有好多方法可以实现, 给你一个demo 

const 
IID_frmRSProdSheetTemp = '{763A8157-45BD-480B-BDCB-7A8BC06EDB63} '; 

type 
IfrmRSProdSheetTemp = interface 
[IID_frmRSProdSheetTemp] 
procedure GetPNData; 
end; 


TfrmRSProdSheetTemp = class(TfrmRSTemp, IProdSheet, IfrmRSProdSheetTemp) 
procedure FormDestroy(Sender: TObject); 
private 
{ Private declarations } 
FIProdSheet: IProdSheet; 
function GetProdSheet: IProdSheet; 
protected 
PrintCalc: Boolean; 
procedure GetPNData; virtual; 
property ProdSheet: IProdSheet read GetProdSheet implements IProdSheet; 
public 
{ Public declarations } 
end; 

判断TfrmRSProdSheeTemp 是否支持 IfrmRSProdSheetTemp 接口就用下面 

下面的方法 

function GetIfrmRSProdSheetTemp: IfrmRSProdSheetTemp; 
begin 
Result := nil; 
if Supports(TfrmRSProdSheetTemp, IID_frmRSProdSheetTemp)then 
Result := TfrmRSProdSheetTemp.Create(nil) 
else 
ShowMessage( 'TfrmRSProdSheetTemp 不支持 IfrmRSProdSheetTemp接口 '); 
end; 
  
这个Blog 有更深层的用法 
http://hi.baidu.com/cncharles/blog/item/4a061df75e4fc123720eec20.html