ActiveX嵌入Word组件时出现ASSERT wincore.cpp 900错误 1.在ActiveX(MFC)中嵌入了一个Word对象,但是总是出现ASSERT错误。DEBUG模式中会有这个错误,Release模式中没有。另外在Debug模式中嵌入Excel时则没有这个错误。真是奇怪。错误截图: 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 点击重试 看堆栈回退至你代码处Debug版本在代码中加入了很多检测异常报错的代码Release则为了加速不做异常检测 我将异常代码截了个图。实际我自已没写什么代码,基本上是用向导生成了一个嵌入Word的示例程序,然后将这个示例框架代码移到了ActiveX中。这个异常代码有点奇怪,我在网上搜了一下,有部分朋友说在线程中创建窗口也会导致出现这个错误。不过这里不是。 不能用MFC自动生成的ActiveX控件 你要用ATL生成复合控件工程容纳你的Word对象 答对请给分 然后将这个示例框架代码移到了ActiveX中?!你是怎么移的 copy? 这个貌似不行,因为用了MFC的类,必须建ActiveX控件。否则将那些接口都没办法全部实现。 是直接COPY的。另外说一下,如果不加载Word的话,这个视图框架程序是没有问题的。但是加载了WORD就报这个错。我自已没写什么代码,基本上都是向导生成的。 看看call stack,看看最后是哪一句出问题了 不能用MFC自动生成的ActiveX控件 你要用ATL生成复合控件工程容纳你的Word对象 有没有相关的示例?我用ATL做了个测试,发现要实现的代码非常的多。而且微软好像也没有提供类似的示例。微软建议的是使用MFC来做。 MFC dll工程基础上 添加ATL COMPOSIT CONTROL 这个貌似不行,创建复合控件是可以,但是MFC里面是通过代码创建的OLE控件。这些代码放在ATL里面会报错。我在ATL里面不太会用代码创建OLE。MFC的那些代码看的让人头疼所以我就直接用MFC封装的代码写的。如果可以的话能否提供一点ATL创建OLE的代码。 从断言在 afxMapHWND 来看,似乎是映射 HWND 到 CWnd 时出错,而 CWnd 好像是不能持久保存的,看看是不是有些容器中保存了 CWnd 指针? 如果有的话,换成 HWND,使用时再转回去。 简单的 CFileDialog:: DoModal() == IDOK 导致外部DLL不能全部成功load VC中实现整个数据库的备份与恢复 C++/VC开发两年,现在转测试方向的工作好找不? 实现类似unlocker的功能,需要用到哪些api? 拿到一个lib如何分辨它是导入库,还是静态库? SDI 切份窗口的问题 请教一个问题,关于makefile的,希望帮忙解决 在任意一条折线的两侧,以一定距离画出与之平行的折线 请教各位!我感到奇怪! 请教一下增量式PID的问题 图像处理 模板更新
Debug版本在代码中加入了很多检测异常报错的代码
Release则为了加速不做异常检测
实际我自已没写什么代码,基本上是用向导生成了一个嵌入Word的示例程序,然后将这个示例框架代码移到了ActiveX中。这个异常代码有点奇怪,我在网上搜了一下,有部分朋友说在线程中创建窗口也会导致出现这个错误。不过这里不是。
微软建议的是使用MFC来做。
这个貌似不行,创建复合控件是可以,但是MFC里面是通过代码创建的OLE控件。这些代码放在ATL里面会报错。我在ATL里面不太会用代码创建OLE。MFC的那些代码看的让人头疼所以我就直接用MFC封装的代码写的。如果可以的话能否提供一点ATL创建OLE的代码。
看看是不是有些容器中保存了 CWnd 指针? 如果有的话,换成 HWND,使用时再转回去。