在程序运行时自动注册ActiveX控件

编写Delphi应用程序时,经常会遇到一些ActiveX控件[注:扩展名为OCX的控件或DLL的类型库],它们为应用程序的开发提供了简单的操作途径。然而,这些程序在发布的同时,面临ActiveX控件注册问题。

解决途径:一、用安装程序制作打包文件,往往会给增加程序本身的大小,系统重装时,则必须重新安装它;二、用程序本身进行代码编写函数的形式处理它。

使用方法分为两种:

一、直接把可视化的ActiveX控件放到程序中;

二、运行时根据需要实时建立。

如果是直接使用,则应用程序在初始化的过程中会自动寻找、创建所需的ActiveX控件,如果控件没有注册,初始化程序会产生一个异常,捕捉并处理这个异常。

在程序Form中加入一个新的方法:

unit UAutoRegActiveX;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComObj; //加入ComObj单元type  TAutoRegActiveXFrm = class(TForm)    procedure FormCreate(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  protected    { Public declarations }    procedure CheckException(Sender: TObject; EAbort: Exception);  end;var  AutoRegActiveXFrm: TAutoRegActiveXFrm;implementation{$R *.dfm}

{-------------------------------------------------

标准ActiveX控件中,有两个函数DLLRegisterServer、DLLUnRegisterServer可调用,其中函数用于注册控件,用于卸载控件。我们可用LoadLibrary装载DLL/OCX文件,用GetProcAddress获取DLLRegisterServer和DLLUnRegisterServer两个函数的指针,然后再直接运行这两个函数即可实现注册和卸载ActiveX控件的操作,从而代替Windows系统的RegSvr32.exe实现ActiveX控件的注册和卸载。

--------------------------------------------------}

{-------------------------------------------------

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索控件
, 函数
, 程序
, 应用程序
, activex
注册
activex控件未注册、注册activex控件、如何注册activex控件、activex控件怎么注册、禁止运行activex控件,以便于您获取更多的相关知识。

时间: 2024-09-28 06:50:29

在程序运行时自动注册ActiveX控件的相关文章

activex控件添加-VC2010程序当中添加Labview的ActiveX控件

问题描述 VC2010程序当中添加Labview的ActiveX控件 我在VC2010程序当中添加Labview的ActiveX控件后,只要为ActiveX控件添加成员变量,程序就会报很多的错误,然而对VS2010本身的控件操作就没问题.这与我当初将VS2010软件安装的位置是否有关(我当初安装在F盘下了). 解决方案 看下是什么错误,是编译错误还是运行时错误,错误和错误是不同的. 解决方案二: LabView的控件是否正确注册成功.是通过VS的import方式导入的控件吗

activex-在网上找的demo,提示未在此计算机上注册ActiveX控件,应该怎么办

问题描述 在网上找的demo,提示未在此计算机上注册ActiveX控件,应该怎么办 在网上找的VS2010工程提示是这样,应该怎么解决呢,如何下载ActiveX控件,因为根据需求会用到不同的控件 解决方案 查看你那demo项目里有没有.ocx后缀的文件,然后注册就行了 管理员模式进行cmd控制台 regsvr32 < 文件名 > 注册一个ActiveX控件 regsvr32 /u < 文件名 > 解除某ActiveX控件的注册

程序运行过程中动态改变控件大小的方法

程序|动态|过程|控件 在程序运行期间改变控件大小要用到WindowsAPI函数以下是主要的代码 [DllImport("user32.dll", EntryPoint="GetWindowLong")] public static extern int GetWindowLong ( int hwnd, int nIndex ); [DllImport("user32.dll", EntryPoint="SetWindowLong&q

ActiveX控件注册的几种方法

本文中的程序原为VC++所编写,略改动一些,将程序用C++Builder编写. ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件.由于ActiveX控件与开发平台无关,因此,在一种编程语言上开发的ActiveX控件可以无须作任何修改,即可在另一种编程语言中使用,其效果如同使用Windows通用控件一样.如:在VC++中开发的ActiveX控件,不作任何修改即可应用于VB中.由此可见,通过使用Activ

【转】ActiveX控件注册的几种方法

from:http://hi.baidu.com/estellejiang/blog/item/af16e862bbd1d3d7e6113aa7.html      ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件.由于ActiveX控件与开发平台无关,因此,在一种编程语言上开发的ActiveX控件可以无须作任何修改,即可在另一种编程语言中使用,其效果如同使用Windows通用控件一样.如:在VC++

ASP与ActiveX控件交互实战

active|activex|交互|控件 关键字:ASP,ActiveX控件,数字签名,安全 ActiveX控件运行在客户端.我们可以获得客户端的一些信息,如IC卡的信息,客户端的验证等等.但是ActiveX控件也有许多缺点:客户端的部署很困难,如客户端不能正确下载,下载了以后不能正确执行,下载的时候需要设置IE的安全级别等等. 更多的时候,我都在使用COM组件来扩展ASP的功能.准确地说,是服务端运行的Activex Dll组件.使用Server.CreateObject("工程名.类名&qu

ASP与ActiveX控件交互实战(一)

active|activex|交互|控件 龙卷风 关键字:ASP,ActiveX控件,数字签名,安全 ActiveX控件运行在客户端.我们可以获得客户端的一些信息,如IC卡的信息,客户端的验证等等.但是ActiveX控件也有许多缺点:客户端的部署很困难,如客户端不能正确下载,下载了以后不能正确执行,下载的时候需要设置IE的安全级别等等. 更多的时候,我都在使用COM组件来扩展ASP的功能.准确地说,是服务端运行的Activex Dll组件.使用Server.CreateObject("工程名.类

ActiveX控件实现

本文源码与文档下载 本章目标: 完成本章学习后,您将能够: Ø         了解什么是ActiveX控件 Ø         掌握如何编写基于MFC的ActiveX控件 Ø         掌握如何测试ActiveX控件 Ø         掌握如何测试ActiveX控件 Ø         了解ActiveX控件如何注册 重点:ActiveX控件的实现.测试及注册. 本章将介绍ActiveX控件的应用与工作原理.我们可以把ActiveX控件看做是一个极小的服务器应用程序,它不能独立运行,必

使用VS2010 C#开发ActiveX控件(上)_C#教程

 要开发Web版的读卡程序,大体思路如下: 1.       使用C#对原始的Dll进行封装,这里要封装两部分内容,一部分是串口通信的功能,一部分是对卡读写的功能. 2.       开发ActiveX控件调用封装后的Dll,使用串口通信来对卡进行读写. 3.       打包并发布ActiveX控件. 4.  使用ActiveX控件. 思路1中封装代码有2个类SerialInterfaceHelper,串口通信的帮助类,MifareOneHelper,M1卡的读写帮助类,我们放在了项目Card