+ -
当前位置:首页 → 问答吧 → 冰天雪地寒风刺骨等待解决办法,VB6.0用组件连接点崩溃问题

冰天雪地寒风刺骨等待解决办法,VB6.0用组件连接点崩溃问题

时间:2011-12-01

来源:互联网


我用ATL用C++ 做了个COM组件,需要在VB6下使用。
组件中调用了一个DLL,DLL中有多个线程运行,
然后组件IDL实现了两种接口,一种是用Advise注册回函数,一种是声明了一个连接点
这两种模式都能正常工作

然后我在VB6中引用了该组件,

使用 withevents 声明了

VB中自动生成了连接点的函数框架:

Private Sub agent_CallbackFunction(ByVal functype As Byte, ByVal newtick As Long, ByVal msgtype As String, ByVal msgname As String, ByVal msgid As Long, ByVal wparam As Long, ByVal lparam As Long)
  On Error GoTo err:
  msg = msg + "fuctype=" + Str(functype) + " type=" + msgtype + " name=" + msgname + " id=" + Str(msgid)
  msg = msg + " wparam=" + Str(wparam) + " lparam" + Str(lparam)

  If Len(msg) > 600 Then
  msg = ""
  End If

  Text1.Text = msg
  Exit Sub
err:
  MsgBox err.Description

End Sub


然后运行完全正常!!!

问题的关键是:
不在回调函数中设断点一切正常,
只要我在这个函数中设一个断点,当它触发后,程序停止,然后我什么也不做,直接继续让程序运行,杯具出现
蹦出了DDE什么的错误框,然后再点确认后,更大杯具出现!VB6的IDE直接退出了!!!没了!又要重新打开工程

哪位高手帮帮,我被这个问题折磨一天了!!
VB6已经打了 SP6的补丁了!!

作者: islife   发布时间: 2011-12-01

倒,发了两次,用了200分啊

作者: islife   发布时间: 2011-12-01

好吧,锅承认锅只是来看看冰天雪地里的裸体人……

作者: yiguangqiang88   发布时间: 2011-12-01

LS给点办法啊

作者: islife   发布时间: 2011-12-01

热门下载

更多