ACTIVEX DLL时,如何在回调函数中改变DLL的一些私有变量的值,并触发用户事件?...
By CSDN daviddivad (你真行,居然比我还快! Scorpio)
请看例子:
两个类模块
clsTimer:
公有类,用于输出
clsSendMessage:
私有类,用于中转,便于触发公有类的事件
一个标准模块
modTime:
回调函数所在的模块
原代码:
clsTimer:
Option Explicit
Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private m_lngTimerHandle As Long
Private WithEvents m_oMessage As clsSendMessage
Public Event Timer()
Public Sub StartTick()
m_lngTimerHandle = SetTimer(0, 0, 1000, AddressOf TimerFunc)
End Sub
Public Sub StopTick()
KillTimer 0, m_lngTimerHandle
m_lngTimerHandle = 0
End Sub
Private Sub Class_Initialize()
Set m_oMessage = g_oMessage
End Sub
Private Sub Class_Terminate()
KillTimer 0, m_lngTimerHandle
End Sub
Private Sub m_oMessage_MessageArrval()
WriteClick
RaiseEvent Timer
End Sub
Private Sub WriteClick()
Debug.Print "a tick"
End Sub
clsSendMessage:
Option Explicit
Public Event MessageArrval()
Public Sub SendMessage()
RaiseEvent MessageArrval
End Sub
modTime:
Option Explicit
Public g_oMessage As New clsSendMessage
Public Sub TimerFunc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
g_oMessage.SendMessage
End Sub
转载于:https://www.cnblogs.com/xioxu/archive/2007/10/16/925724.html
ACTIVEX DLL时,如何在回调函数中改变DLL的一些私有变量的值,并触发用户事件?...相关推荐
- JavaScript 回调函数中的 return false 问题
今天一个同事问了我一个问题,就是在 Ajax 方法中,请求成功后(success)的回调函数中根据响应的值来判断程序是否继续执行,他不解的是在回调函数中已经 return false 了,但是 Aja ...
- spring返回数据使用ajax,【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中...
问题1: 使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中 问题展示: 问题解决: 最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法 ...
- 回调函数中删除对象引发的隐晦非法访问崩溃问题
回调函数,这里说的是一种笼统的概念,泛指一个对象或者一个过程调用陷入另一个对象或过程.本文想要描述的就是在回调函数中执行释放.删除动作去销毁调用调用者相关联的内容,导致访问非法. 下面用一段代码来简述 ...
- C++回调函数中调用Python函数出现的死锁问题调试及解决
一.查找死锁原因: 1.使用gdb exe指令进入gdb命令行,再输入r运行可执行文件 gdb /home/sdhm/catkin_ws/devel/lib/gpd_ros/gpd_server GN ...
- jQuery $.post()返回类型为json时不进入回调函数的原因及解决方法
jQuery $.post()返回类型为json时不进入回调函数的原因及解决方法 参考文章: (1)jQuery $.post()返回类型为json时不进入回调函数的原因及解决方法 (2)https: ...
- 函数中参数有数组时注意的小问题(不一定要传递数组长度,不用返回数组,可以在函数中改变数组元素值)
函数中参数有数组时注意的小问题: 1.不一定要传递数组长度 2.不用返回数组,可以在函数中改变数组元素值 通过下面这个小例子来验证: #include<iostream> #include ...
- 来自Android客户端什么意思,如何通过回调函数中的Node.js来自Android客户端
我想从插座Android客户端将数据发送到服务器的Node.js .. 在服务器端做了什么香港专业教育学院:如何通过回调函数中的Node.js来自Android客户端 socket.on('new u ...
- 回调函数中window.open()被拦截
在回调函数中window.open默认是会被拦截的,因为浏览器判断它不是用户自己打开的,存在安全风险,所以可以伪造一个用户点击事件来避开,代码如下: function newWindow(url, i ...
- python线程池回调函数_python回调函数中使用多线程的方法
下面的demo是根据需求写的简单测试脚本 #!/usr/bin/env python # coding: utf-8 # 第一个列表为依赖组件和版本号,后面紧跟负责人名称 # 接着出现第二个以来组建列 ...
最新文章
- OpenStack环境搭建(五:附加项虚拟机文件备份使用)
- 记录一下增加标定评价标准的过程
- 推荐一款好用的搜索引擎(kngine)
- ide硬盘接口图 sata硬盘接口图 SCSI硬盘接口图
- [转] ubuntu 无线网络 配置 virtualbox
- vue --- 修饰符.lazy、.number、.trim
- 加强版!利用python自动发送邮件
- C#刀那儿特更清晰讲述什么是事件?
- 从零开始学设计模式(五)——原型模式(Prototype Pattern)
- 怀念中国雅虎:技术文化和惨淡命运,互联网营销
- FTP、Telnet、SMTP、POP3等服务的名称及端口号和各种数据库的端口号
- 静态市盈率和动态市盈率
- OAuth2.0+SpringSecurity+Jwt实现系统的登录认证,用户授权
- pika详解(四) channel 通道
- 最新解决谷歌翻译无法使用的教程
- 蓝牙耳机厂家新品发布——ANC主动降噪耳机U2065
- R中两种常用并行方法——2. snowfall
- 雷军为什么要挖常程?
- 周期函数的傅里叶级数展开
- 【阅读笔记】《Catching Both Gray and Black Swans: Open-set Supervised Anomaly Detection》