delphi 怎么动态调用ocx中的方法
2016-08-16 · 知道合伙人软件行家
关注
展开全部
OCX 其实质上可以看作是动态库,即对 dll 文件进行加载调用。
通常来说,你需要先在操作系统中注册 ocx,比如:
regsvr32.exe/s yourocx.ocx
然后,在源代码里可以先引入这个库( Component--->Import Activex Control),再调用即可。
如果是动态注册,可以参考以下代码:
//注册ocx
function RegisterOCX(FileName: string): Boolean;
var OCXHand: THandle;
RegFunc: TDLLFunction;
begin
OCXHand := LoadLibrary(PChar(FileName));
RegFunc := GetProcAddress(OCXHand, 'DllRegisterServer');
if @RegFunc <> nil then
Result := RegFunc = S_OK
else
Result := False;
FreeLibrary(OCXHand);
end;
//卸载OCX
function UnRegisterOCX(FileName: string): Boolean;
var OCXHand: THandle;
RegFunc: TDLLFunction;
begin
OCXHand := LoadLibrary(PChar(FileName));
RegFunc := GetProcAddress(OCXHand, 'DllUnregisterServer');
if @RegFunc <> nil then
Result := RegFunc = S_OK
else
Result := False;
FreeLibrary(OCXHand);
end;
//调用:
FWord := CreateOleObject('Word.Application');
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询