Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • 注册ActiveX控件的几..
  • datagrid想得到所在..
  • [经验技巧]Access中..
  • 第三方ActiveX控件L..
  • 一个快速注册 DLL 及 ..
  • 在Access2003或以..

最新文章

  • 在Access中使用Fon..
  • 完美解决“无法装载这个对象..
  • 快速学习Treeview树..
  • 一个可免注册的Access..
  • Access如何添加引用及..
  • 锐浪报表(Grid++Re..

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > ActiveX/第三方控件/插件
ActiveX/第三方控件/插件

注册ActiveX控件的几种方法

虽然是其它开发语言的,同时Access本身也有注册OCX的工具,但对access编程或有帮助。

文/黄昱

  使用ActiveX控件可快速实现小型的组件重用、代码共享,从而提高编程效率,降低开发成本。但是ActiveX控件对于最终用户并不能直接使用,因为ActiveX控件必须先在Windows中注册。注册ActiveX控件一般来说有六种途径,它们有各自的优点,运用范围也不同。

  Regsvr32.exe注册

  Regsvr32.exe位于Windows目录的system子目录下。点击Windows的“开始→运行”菜单,在对话框中输入以下命令:

  regsvr32 netshare.ocx &&注册netshare.ocx控件

  regsvr32 /u netshare.ocx &&解除netshare.ocx控件的注册

  如果netshare.ocx文件不在system目录时,还必须在文件名前加上完整的路径。除了regsvr32应用程序之外,Microsoft在它的Web站点上还提供了一个称为regclean.exe的程序,可以检查注册表并去掉丢失的组件在注册表中的条目。regclean.exe除了可以删除“悬挂”的条目,它还提供一个“undo”文件帮助恢复错误的删除。

  卧龙传说提醒:用regsvr32.exe注册ActiveX控件虽然简单,但需要用户手工进行注册,在不用时还需手工解除注册。

  VFP环境注册

  在我们进行程序设计时,VFP本身提供一个注册ActiveX控件的方法。

  进入VFP环境,选择“工具→选项”菜单,点击“控件”页,选中“ActiveX控件”单选按钮,在列表框里显示所有已经注册的ActiveX控件,这时,点击右边的“添加”按钮,选择需要注册的ActiveX控件文件,“确定”后完成注册。也可以在表单设计器的表单控件工具栏里拖动“OLE”按钮到表单,在弹出的选择框里选中“插入控件”单选钮,同样点击右边的“添加控件”按钮,来完成新控件的注册。

  卧龙传说提醒:本方法仅适合程序员在设计程序过程中手工进行,对用户而言,并没有实现在本地机上自动注册。

  安装程序注册

  大型应用软件一般都有一个安装程序,在安装程序中解决ActiveX控件的注册是较为理想的一种方案。

  在用户执行安装程序时,这些ActiveX控件将自动在用户机器上安装并注册。

  VFP7.0光盘所带的InstallShield是目前较为流行的制作安装程序的工具,使用它可以制作出专业级的Setup安装程序,还可以注册应用程序使用到的ActiveX控件。而且,在以后使用控制面板的“添加/删除程序”卸载该软件时,安装程序会自动注销掉以前注册的ActiveX控件。

  加入代码注册

  首先,定义一个注册控件的函数:

  Function MyRegsvr ( lpcRegFilename, lplIsreg )

  If File(lpcRegFilename)

  lpcRegFilename = iif(llisreg, lpcRegFilename, [ /u ] + lpcRegFilename)

  Run /n regsvr32 &&lpcRegFilename

  Endif

  Return

  Endfunc

  然后就可以通过以下语句来调用该函数,并完成ActiveX控件的注册了(卧龙传说提醒:一定要注意控件文件的路径哦)。

  = MyRegsvr( "netshare.ocx", .T.) &&注册netshare.ocx控件

  = MyRegsvr( "netshare.ocx", .F.) &&解除netshare.ocx控件的注册

  注册函数注册

  上面提到运行regsvr32.exe应用程序将弹出注册是否成功的对话框,注意看内容“DllRegisterServer in netshare.ocx succeeded”或“UnDllregisterServer...”,其实,通常每个可用的ActiveX控件都有DllRegisterServer、UnDllregisterServer这两个自注册函数包含在其中,我们可以用定义API函数的方法(Declare <函数名> in <文件名> ... )来定义它,然后直接使用该函数来进行注册和反注册。

  同样,我们先自定义一个注册函数(卧龙传说提醒:请注意DllRegisterServer、UnDllregisterServer的大小写):

  Function DllRegister (lpLibFileName,isReg)

  isReg = iif(type("isReg")="U", .T., isReg)

  lpProcName = iif(isReg, "DllRegisterServer", "DllUnregisterServer" )

  Declare INTEGER (lpProcName) in (lpLibFileName)

  return &&lpProcName.()

  Endfunc

  然后,就可以通过该函数来完成ActiveX控件的注册了。

  = DllRegister( "netshare.ocx", .T.) &&注册,返回0表示成功

  = DllRegister( "netshare.ocx", .F.) &&注销,返回0表示成功

  Clear Dlls

  试试,是不是没有了弹出框的烦恼!

  卧龙传说提醒:该方法没有对ActiveX控件文件的验证,假如该控件没有有效的DllRegisterServer功能(即不具有自注册功能),也就找不到以上的两个API函数,照样会有错误信息弹出。

  API函数注册

  此方法的设计思路是:先将ActiveX控件载入内存,然后验证其有效性,最后直接在内存地址中执行其注册函数(DllRegisterServer、UnDllregisterServer)。其编程方法是:

  1、使用Windows API函数LoadLibrary载入ActiveX控件;

  2、使用GetProcAddress函数获取ActiveX控件中注册函数DllRegisterServer(注销函数为DllUnregisterserver)指针;

  3、使用CallWindowProc函数执行已载入内存的ActiveX控件注册函数(DllRegisterServer、UnDllregisterServer)。

  上面所述的ActiveX控件注册方法各有特点。经实际使用,效果良好。您可根据实际情况灵活选用。

发布人:黄昱-赛迪网--中国电脑教育报  
分享到:
点击次数:  更新时间:2005-02-04 12:08:21  【打印此页】  【关闭】
上一条:Excel制作奖金计算表 算出员工工资  下一条:Access获取窗体在记录跳转时触发了多少个事件



相关文章

  • • 在Access中使用Font Awesome字符图标
  • • 完美解决“无法装载这个对象”的困扰
  • • 快速学习Treeview树状控件的详细教程
  • • 一个可免注册的Access增强控件库
  • • Access如何添加引用及调整引用的顺序
  • • 锐浪报表(Grid++Report)的一些开发技巧
  • • Grid++Report 锐浪报表开发常见问题解答集锦
  • • RichTextbox控件RTF(富文本格式)的使用及常用语法

热门文章

  • [2013-10-29] 快速注册DLL和OCX的方法【技巧】access数据库
  • [2008-12-29] 第三方ActiveX控件License控制的一个漏洞access数据库
  • [2016-09-27] 锐浪报表(Grid++Report)的一些开发技巧access数据库
  • [2013-10-01] The Kill-Bit FAQ: Part 1 of 3access数据库
  • [2003-12-12] Treeview 控件的使用方法access数据库
  • [2009-04-18] TreeView控件使用教程3access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2025  www.metinfo.cn