使用VB6.0设计ActiveX DLL事件

原创 2003年04月17日 09:17:00

    我们知道在设计ActiveX DLL程序的事件直接使用以下方法定义就可以,例如:Public Event TracerView(IndexValue As Integer, KeyValue As String, TraceResults As String)就定义好了一个给EXE程序使用的事件。但我们也知道要使用事件必须有外部动作或定时器才能够触发,但是怎样在ActiveX DLL内部触发该事件呢?

    我搜索了许多网站的技术文章都没有能找到合适的处理方法,但经过自己的摸索找到了一个好的方法来处理这个问题。或许我太孤陋寡闻吧,我没有看到这方面的文章介绍;如果我下面写的内容有与别人的文章有雷同的地方,请不要认为我又抄袭之嫌。因为下面的内容的确是我摸索的结果。

1、首先我们应该定义好一个ActiveX DLL工程,设计一个类比如CPrinter类,并把Instancing的属性设为5—MultiUse;

2、在CPrinter类模块中添加事件,比如:Public Event TracerView(IndexValue As Integer, KeyValue As String, TraceResults As String);

3、在CPrinter类模块中添加一个Friend 方法,比如:Friend Sub CaptureView(IndexValue As Integer, KeyValue As String, TraceResults As String)在该方法中添加触发事件的代码RaiseEvent TracerView(IndexValue, KeyValue, TraceResults);

4、在ActiveX DLL工程内部添加一个窗体,比如:FGrid窗体;并在该窗体的代码模块中定义引用ActiveX DLL的CPrinter类的变量和Friend属性,比如以下这样定义:Private mInitRpt        As CPrinter;

Friend Property Get Document() As CPrinter
    'Dll工程类在工程内部使用方式
    Set Document = mInitRpt
End Property

Friend Property Set Document(ByVal vNewData As CPrinter)
    Set mInitRpt = vNewData
End Property

5、在FGrid窗体代码模块内部就可以使用CPrinter类的Friend、Public方法和属性,如:mInitRpt.CaptureView 0, mnuYayMenu.Item(0).Caption, mnuYayMenu.Item(0).Tag

    通过以上5步就可以在ActiveX DLL工程内部使用事件、方法和属性。

     

VB 引用外部DLL 开发 Activex Dll

VB 引用外部DLL  开发Activex Dll,项目开发需要,自学VB开发dll ,废话少说,直接上图、上文字。 例子中外部DLL 的名称DC_CARD_DLL32.dll,其中有rf_te...
  • NCTU_to_prove_safety
  • NCTU_to_prove_safety
  • 2016年07月14日 10:43
  • 224

VB6.0 ActiveX 控件开发详解 [第四章:事件的设计与引发]

第四章:事件的设计与引发     好的,本人已经很久没续写这篇文章了,应网友邀请,我现在继续。事件是一个对象的对外输出,客户通过事件得知控件对象当前的情况,于是,学习事件的设计与引发就变得很重要。  ...
  • JiLuoXingRen
  • JiLuoXingRen
  • 2011年09月04日 13:42
  • 10437

vb6.0创建“标准”DLL

vb6.0 IDE开发环境能创建 Activex DLL工程,这类工程发布的DLL,从严格意义上VB建立的DLL并不是像VC一样的动态链接库,VB建立的是ActiveX DLL,不能像kernel32...
  • xsjm206
  • xsjm206
  • 2012年02月26日 17:40
  • 2794

VB6.0调用DLL

目 录 第1章 VB6.0调用DLL    1 1 VC++编写DLL    1 1.1 使用__stdcall    1 1.2 使用 .DEF 文件 ...
  • Hanford
  • Hanford
  • 2016年12月10日 16:25
  • 2436

c++调用vb6.0制作的activex dll

本文将介绍在vs2008 中C++ 调用vb6.0 生成的activex dll。具体的源代码可以从以下链接下载:http://download.csdn.net/detail/xsjm206/409...
  • xsjm206
  • xsjm206
  • 2012年02月26日 21:08
  • 2849

ActiveX控件的属性、事件和方法

  ActiveX控件的属性、事件和方法什么是ActiveX控件:一个进程内服务器,支持多种的COM接口。(可以理解为,一个COM接口是一个纯抽象基类,你实现了它,并且它支持自注册,就是一个Activ...
  • cdpc0202
  • cdpc0202
  • 2006年10月10日 11:22
  • 2394

在ActiveX控件中如何动态调用DLL函数

刚到公司不久,接到领导的下达的一个任务,就是把对POS机操作功能封装在ActiveX控件中,在IE中调用。这样就能实现在IE上直接对POS机进行操作。而我要封装的这个动态库,厂家只提供了一个单的动态库...
  • Augusdi
  • Augusdi
  • 2009年10月08日 16:38
  • 3481

win7 64位下使用regsvr32注册activex dll

由于公司产品用了很多activex dll,而我的操作系统是64位的win7,在注册这些dll时碰到了很多问题,经过摸索,最后还是成功注册了,步骤如下: 1、在C:\Windows\SysW...
  • embededvc
  • embededvc
  • 2013年06月07日 22:03
  • 5562

VB6.0 ActiveX 控件开发详解 [第一章:创建工程]

前言         在CSDN的VB论坛上,我总是能够看见有人这样问“有没有这样的控件,一个列表框,每一个项前面有一个按钮”(这是例子),又或者见到这样:“怎么样做一个ActiveX控件?”,诸如此...
  • JiLuoXingRen
  • JiLuoXingRen
  • 2011年08月03日 18:19
  • 25561

VB动态加载ActiveX控件并响应事件

熟悉VB的朋友对使用ActiveX控件一定不会陌生,众多控件极大地方便了编程,但唯一的缺陷是不能动态加载控件,必须在设计时通过引用,将控件放置在窗体上。VB6.0已能够解决该问题,只是帮助中没有明确说...
  • derryzhang
  • derryzhang
  • 2008年10月26日 19:58
  • 3466
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用VB6.0设计ActiveX DLL事件
举报原因:
原因补充:

(最多只允许输入30个字)