如何动态创建ACTIVEX控件,通过CLSID而不是-TLB单元,就是说程序运行之前还不知道有这个控件,程序运行以后,传递一个一注册ACTIVEX控件的CLSI

  • 主题发起人 主题发起人 sunmeren
  • 开始时间 开始时间
S

sunmeren

Unregistered / Unconfirmed
GUEST, unregistred user!
如何动态创建ACTIVEX控件,通过CLSID而不是-TLB单元,就是说程序运行之前还不知道有这个控件,程序运行以后,传递一个一注册ACTIVEX控件的CLSID来 创建这个控件,请帮忙。(100分)<br />如何动态创建ACTIVEX控件,通过CLSID而不是-TLB单元,就是说程序运行之前还不知道有这个控件,程序运行以后,传递一个一注册ACTIVEX控件的CLSID来 创建这个控件,请帮忙。
 
好像可以吧 要完全用com原生方法来使用。
就是用 CreateComObject(const ClassID: TGUID): IUnknown
来创建一个active实例
然后就可以通过返回的实例 调用一些方法和接口。这个就像网页js的处理方法那样。
 
constructor TLecroy.Create(AOwner:TComponent);
begin
inherited;
if not Succeeded(
CoCreateInstance( CLASS_ActiveDSO,nil,CLSCTX_INPROC_SERVER,_DActiveDSO,ALecroy ) ) then
raise Exception.Create('无法运行程序,必须进行正确的安装!');
Connected:=False;
end;
 
后退
顶部