专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »VB教程 » vbactivex:VB COM基础讲座之测试ActiveX EXEs »正文

vbactivex:VB COM基础讲座之测试ActiveX EXEs

来源: 发布时间:星期四, 2009年2月12日 浏览:187次 评论:0


本节将创建并测试自己activex exe

   举例中将使用这样个组件它是个有效文件探测器大约每隔60秒检测指定文件存在性如何该文件存在该组件激发个事件来应用如果不存在则另作处理

   当然如果将所有代码写到activex dll工程则运行时代码将被挂起直到文件检测代码运行完毕为止由于activex exe工程拥有自己进程空间代码运行时会自我协调、异步处理从而不会使其他代码停顿

   下面就来创建:

   新建个\"activex exe\"工程;

   工程名设为\"file\";

   添加类名为\"filecheck\";

   下我们需要构造些用于每隔1分钟左右检测文件代码这里将在activex exe工程插入个带有计时器表单但该表单不会被显示我们只是使用上面计时器Control控件每隔1分钟左右来检测文件如果相应文件被检测到则激发个事件

   选择\"project\"->\"add form\";

   在表单form1中添加个计时器;

   在表单代码中添加下列变量声明:

public filename as
   该变量用于保存被监视文件名

   在表单代码中添加下列事件声明:

public event filefound
   该事件只有当前面文件发现后才被激发

   在timer1代码中添加下列语句:

  private sub timer1_timer

    dir(filename) <> \"\" then

     raiseevent filefound

     timer1.erval = 0

    end

   end sub
   代码中首先简单地检测文件若存在则激发filefound事件然后将timer1时间间隔设为0停止以后检测

   打开filecheck类;

   在通用声明处添加下列对象声明:

dim withevents objfilecheck as form1
   这就是form1代码它通知visual basic上述定义对象是用来保存表单关键词withevents表示该类可以接收传送来事件如前面filefound等

   本节将创建并测试自己activex exe

   举例中将使用这样个组件它是个有效文件探测器大约每隔60秒检测指定文件存在性如何该文件存在该组件激发个事件来应用如果不存在则另作处理

   当然如果将所有代码写到activex dll工程则运行时代码将被挂起直到文件检测代码运行完毕为止由于activex exe工程拥有自己进程空间代码运行时会自我协调、异步处理从而不会使其他代码停顿

   下面就来创建:

   新建个\"activex exe\"工程;

   工程名设为\"file\";

   添加类名为\"filecheck\";

   下我们需要构造些用于每隔1分钟左右检测文件代码这里将在activex exe工程插入个带有计时器表单但该表单不会被显示我们只是使用上面计时器Control控件每隔1分钟左右来检测文件如果相应文件被检测到则激发个事件

   选择\"project\"->\"add form\";

   在表单form1中添加个计时器;

   在表单代码中添加下列变量声明:

public filename as
   该变量用于保存被监视文件名

   在表单代码中添加下列事件声明:

   public event filefound

   该事件只有当前面文件发现后才被激发

   在timer1代码中添加下列语句:

  private sub timer1_timer

    dir(filename) <> \"\" then

     raiseevent filefound

     timer1.erval = 0

    end

   end sub
   代码中首先简单地检测文件若存在则激发filefound事件然后将timer1时间间隔设为0停止以后检测

   打开filecheck类;

   在通用声明处添加下列对象声明:

dim withevents objfilecheck as form1
   这就是form1代码它通知visual basic上述定义对象是用来保存表单关键词withevents表示该类可以接收传送来事件如前面filefound等
从\"object\"下拉列表框中选择\"\";

   再从\"procedure\"下拉列表框中选择\"initialize\";

   在_initialize事件中添加下列代码:

  private sub _initialize

    objfilecheck = form1

   end sub
   该代码简单地使objfilecheck等于form1个例子的后我们将使用在form1中添加功能接下来我们编写个子过程用来监视个文件

   在filecheck中添加下列代码:

  public sub monitorfile(filename as )

    objfilecheck.filename = filename

    objfilecheck.timer1.erval = 60000

   end sub
   当我们此过程时需要给出文件名参数这时表单filename变量保存该文件名然后将计时器时间间隔属性设置为60,000毫秒并激活该计时器

   至此我们构造了用于监视文件所有代码但是当文件检测到时我们需要通过激发filefound事件通知正在使用activex exe

   在通用声明部分添加下列事件声明:

public event filefound(filename as )
   该代码只是简单地定义个filefound事件步该事件相应代码

   从\"object\"下拉列表框中选择\"objfilecheck\";

   再从\"procedure\"下拉列表框中选择\"filefound\";

  private sub objfilecheck_filefound ( )

    raiseevent filefound ( objfilecheck.filename)

   end sub
   显然当文件检测到时这里filefound事件就被激发但我们还需要在使用exe中添加这个事件添加代码

   在objfilecheck_filefound事件中添加下列代码:

   raiseevent filefound(objfilecheck.filename)



   这就是我们全部代码

   当员使用该类时都可以文件名为参数monitorfile思路方法然后表单中计时器被引发每隔60秒钟检测下文件若该文件被查找到则激发filecheck类中事件该事件又激发相关应用个事件用来通知该文件已被找到

   明白了吗?让我们试试看吧!
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: