delphi 怎么动态调用ocx中的方法

 我来答
windblast
2016-08-16 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13624
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

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');
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式