最近需要做个小程序实现对word文档的操作,功能都已经实现了,但我想先把操作word那部分代码做成动态链接库(MFC 扩展DLL)再使用,可问题却出现了。当选择“在静态库中使用MFC”时,就会出现“无法解析外部符号”的错误,当选择“在共享DLL 中使用MFC”,生成的程序可以正常运行,可在调试状态下运行程序,却出现“0x7c94ab33处未处理的异常 0xc0000005写入位置0x00030ffc时发生访问冲突”,这是为何啊。另外当执行下面语句时wstring wstr[] = {_T(""),_T("daf"),_T("gdasf"),_T("gadf")};
vector<wstring> vstr;
vstr.assign(str,str+4);
wd.writetabletext(vstr); //wd是封装成dll类的对象如果操作word的类不做成dll,直接使用源文件,上面代码是可以正常执行的啊,可做成dll后,出现下面的错误:Run-Time Check Failu #2-Stack around the avriable 'wd' was corrupted.
希望各位大侠给予指点
vector<wstring> vstr;
vstr.assign(str,str+4);
wd.writetabletext(vstr); //wd是封装成dll类的对象如果操作word的类不做成dll,直接使用源文件,上面代码是可以正常执行的啊,可做成dll后,出现下面的错误:Run-Time Check Failu #2-Stack around the avriable 'wd' was corrupted.
希望各位大侠给予指点
解决方案 »
- 求救。电脑一直都能注册debug版的xx.ocx,但突然现在就不行了。出现LoadLibrary(xx.ocx)失败 - 一个或数个参数无效。为何出现这种情况?
- 锁定客户端的鼠标和键盘
- 孙鑫著作《VC++深入详解》第15章主线程暂停执行的问题
- 急!请问如何将用字符串保存的网页代码交给IE正常显示?
- 怎么给带有指针的参数付值(是有关DLL的)来者有分
- 高分问:printf如何显示unicode对应的汉字?在线
- 使用_filelength引起其他文件操作函数如fopen出现Access is denied的错误,为何?
- 关于CScrollView类的滚动条问题??????50分
- 请问哪位大侠有编写dll的电子书或文档,帮帮小弟吗?
- 哪位仁兄有端口扫描的原程序,小弟这里谢谢先。
- CDC画图问题?
- vc 如何在多文档应用程序中读取.bin文件并应用文件里面的数据画图
注意不要导出模板类
InvokeHelper(0x5,DISPATCH_PROPERTYGET,VT_DISPATCH,(void*)&result,NULL);
return result;在客户端程序是这样使用dll的
1、{
2、 AFXOleInit();
3、 CWordWriter wd; //被封装成dll的类
4、 wd.Create();
5、 wd.ShowApp();
6、}程序运行在行6之前,m_wdSel.m_lpDispatch中的值都不会变,运行到行6执行CWordWriter析构函数时,值就变了,更奇怪的是CWordWriter中其他的变量的lpDispatch中的值都不变,唯独wdSel。何解啊????
中的0x5和“0x7c94ab33处未处理的异常 0xc0000005写入位置0x00030ffc时发生访问冲突”中的0xc0000005是一样的吧
那就是在类的导出导入前都加上stdcall或cdecl么
我以前是做lua时有碰到过 当时是没有引入lib文件造成的
我那是
#if defined (_DEBUG)
#pragma comment( lib, "lua5.1.lib" ) // Lua Support
#else
#pragma comment( lib, "lua51.lib" ) // Lua Support
#endif
就好了 你看看是不是适当的改一下2 获取窗口位置 GetWindowRect()