我一直认为在Windows平台上,VB+VC是黄金组合,可是,兄弟我的一个问题一直很困惑,哪位若有兴趣不妨看看:1)以下是Usercontrol中的部分有关代码:
Option Explicit'事件声明:
Event Timer()
'计时器ID
Dim m_hTimer As Long
'设置计时器API函数
Private Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Long, ByVal uResolution As Long, ByVal lpFunction As Long, ByVal dwUser As Object, ByVal uFlags As Long) As Long'设置计时器
Private Sub SetTimer()
m_hTimer = timeSetEvent(m_Interval, 0, AddressOf VCSTimer_CallbackProc, Me, TIME_PERIODIC)
End Sub'计时器事件
Public Sub RaiseProc()
RaiseEvent Timer
End Sub2)以下是标准模块中的代码:Option Explicit
'构造回调函数
Public Sub VCSTimer_CallbackProc(ByVal uID As Long, _
ByVal uMsg As Long, _
ByVal MyObject As Object, _
ByVal dw1 As Long, _
ByVal dw2 As Long)
MyObject.RaiseProc
End Sub以上是我的一个控件有问题的部分代码,在VB环境中,通过添加一个测试工程,可以很好的运行,但是,该控件一旦脱离了VB环境,就会出错:该程序导致无效页,执行了非法操作,确定后关闭。
Option Explicit'事件声明:
Event Timer()
'计时器ID
Dim m_hTimer As Long
'设置计时器API函数
Private Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Long, ByVal uResolution As Long, ByVal lpFunction As Long, ByVal dwUser As Object, ByVal uFlags As Long) As Long'设置计时器
Private Sub SetTimer()
m_hTimer = timeSetEvent(m_Interval, 0, AddressOf VCSTimer_CallbackProc, Me, TIME_PERIODIC)
End Sub'计时器事件
Public Sub RaiseProc()
RaiseEvent Timer
End Sub2)以下是标准模块中的代码:Option Explicit
'构造回调函数
Public Sub VCSTimer_CallbackProc(ByVal uID As Long, _
ByVal uMsg As Long, _
ByVal MyObject As Object, _
ByVal dw1 As Long, _
ByVal dw2 As Long)
MyObject.RaiseProc
End Sub以上是我的一个控件有问题的部分代码,在VB环境中,通过添加一个测试工程,可以很好的运行,但是,该控件一旦脱离了VB环境,就会出错:该程序导致无效页,执行了非法操作,确定后关闭。
解决方案 »
- 寻热心人士帮忙解决菜鸟问题
- 送分100分:关于DATACOMBO的几个小问题
- 请问各位高手VB程序怎么发布 不用制作安装程序
- 如何制作漂亮的界面以及如何使用"用户控件"
- 搜了好久,急求,vsflexgrid能够根据输入自动增加某行的行高,谢谢
- 我用 Winsock控件 开发了服务器端和客户端程序,采用Winsock的TCP属性 ??急等
- 一个关于ado数据存贮的问题
- 请问在vb中控件的哪个属性可以设置控件在form上重叠的次序
- access连vb的问题,100分
- 怎么将文件夹的图标改掉?
- 怎么样让treeview显示自己指定的目录?
- 如果服务器端是SQL server,请问应该如何编写服务器端程序呢?
谢谢!
所牵涉到的部分,基本上都在上面了。不过,告诉我你的邮箱,我可以把代码发给你。实际上以上问题我已经绕道过去了,只是作为一个问题,我想知道为什么。