VC++6.0 Debug状态下控件注册的问题

syy64 2006-02-17 11:33:35
我去年编的一个产生控件的程序,当时在Debug和Release状态下编译、连接、自动注册、运行,一切都正常正确,但后来我计算机换了一个硬盘,重新安装了windows2000专业版和vc++6.0(两者跟以前的都不是同样的光盘安装的),现在在我计算机上Release状态时,编译、连接、自动注册、运行,一切都正常正确,但Debug状态时,编译连接正确,自动注册时出现错误,这样调试起来极其不便,错误信息如下:
Microsoft Visual++ Debug Library

Debug Assertion Failed!

Program:C:\winnt\system32\regsvr32.exe
File:oletyplb.cpp
line:32

For information on how your program can cause an assertion
failure see the Visual C++ documentation on asserts

(Press Retry to debug the application)

当我按重试按钮后,出现如下错误提示:
Microsoft Visual++ Debug Library

Debug Assertion Failed!

Program:C:\winnt\system32\regsvr32.exe
File:afxcrit.cpp
line:74

For information on how your program can cause an assertion
failure see the Visual C++ documentation on asserts

可现在我在另一台计算机上试,在Debug和Release状态下编译、连接、自动注册、运行,一切都正常正确。

我的问题是:1、在我计算机上Debug下控件自动注册产生错误的原因;
2、如何解决这个错误,使之正确。
...全文
811 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
syy64 2006-03-14
  • 打赏
  • 举报
回复
楼上的,我首先要解决的是控件自动注册不成功的问题。
SeekTruth 2006-03-13
  • 打赏
  • 举报
回复
1. 在oletyplb.cpp文件32行以及afxcrit.cpp的74行是什么原因导致Assertion Failed?


2. 如楼主所言: m_Show3dctl1.CreateControl(m_Show3dctl1.GetClsid(), NULL, WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL, rect, this, ID_SHOW3DCTL1)

失败了,在此处可以进一步跟踪下去估计就可以找到原因了!
YufengShi 2006-03-02
  • 打赏
  • 举报
回复
自动注册不是放在post bulid里的吗
蒋晟 2006-02-24
  • 打赏
  • 举报
回复
in a function
syy64 2006-02-21
  • 打赏
  • 举报
回复
那您说放在什么地方合适?
蒋晟 2006-02-21
  • 打赏
  • 举报
回复
It seems you need to create a control during registration? Don't do that. It would produce a deadlock. Put your control creation elsewhere.
syy64 2006-02-20
  • 打赏
  • 举报
回复
to:jiangsheng(蒋晟.Net[MVP]) ,按您的方法调试后,在调用程序的初始化函数里:
iret = m_Show3dctl1.CreateControl(m_Show3dctl1.GetClsid(), NULL, WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL, rect, this, ID_SHOW3DCTL1);
该函数返回值为零,不成功。
m_Show3dctl1对象的hWnd为空。
蒋晟 2006-02-18
  • 打赏
  • 举报
回复
then start debug with a commandline
regsvr32.exe yourcontrol.ocx
wshcdr 2006-02-18
  • 打赏
  • 举报
回复
MK
wangk 2006-02-17
  • 打赏
  • 举报
回复
不是regsvr32.exe的问题吧,应该是生成的工程的Debug的Custom Build命令不正确吧,参考Release的Custom Build改正它。
快乐鹦鹉 2006-02-17
  • 打赏
  • 举报
回复
把regsvr32.exe换一个。哈哈
Atomictry 2006-02-17
  • 打赏
  • 举报
回复
和正常的机器对比一下,卸掉不同的sp补丁试试呢。
syy64 2006-02-17
  • 打赏
  • 举报
回复
to:wangk(倒之) ,我查了,是一样的;
to:jiangsheng(蒋晟.Net[MVP]) ,安装了vc++6.0 sp6,Windows2000网上实时更新。
蒋晟 2006-02-17
  • 打赏
  • 举报
回复
did you installed SP?

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧