我用vc6.0编了一个在solidworks(一个三维造型软件)下用的a1.dll文件,编译时使用的配置是WIN32 MBCS Release,在win2000系统下,在solidworks2000中调用a1.dll文件,如果不使用自编的对话框,一切正常,一旦调用自己的对话框,则出现"应用程序错误",显示"0x6bc56c1d"指令引用的"0x00000000"内存。该内存不能为"read".进行调试,出现消息框:Unhandled exception in sldwork.exe(MFC42.dll):0x00000005:Access Violation.确定后,光标出现在:6BC56C1D mov edx,dword ptr [eax]一行上。
把a1.dll在win98下的solidworks上加载,运行,对话框正常显示一切正常。
为什么会在98和2000下出现不同的情况呢?
我的dll程序是在调用的lib上出现问题,还是ID定义有问题,或是有关dll其他方面的问题没注意到?
把a1.dll在win98下的solidworks上加载,运行,对话框正常显示一切正常。
为什么会在98和2000下出现不同的情况呢?
我的dll程序是在调用的lib上出现问题,还是ID定义有问题,或是有关dll其他方面的问题没注意到?
解决方案 »
- edit中显示数据信息 急求~~~
- CWebBrowser显示Flash刷新的问题
- 高手帮忙看看IDC_TEXTCHAT是什么控件?
- 如何向sql server2000中插入时间?急问!!
- VC是否有带button的Edit。
- 有没有精通VC的,且想跳槽的,,,
- CFile类没有读取一行的函数吗?
- 请问, vc里面有什么方法可以看到宏展开后的结果?
- ---->薪水调查!各位在职程序员请进!!
- BMP图像像素坐标提取的问题,真诚求教,急~thx
- 请问用PostQuitMessage( 0 );语句也可以退出程序,但用。。?
- 可以说说WASAsyncSelect和线程的关系吗?(NO MFC,API)
AFX_MANAGE_STATE(AfxGetStaticModuleState());例
// in your.dllextern "C" _decspec(dllexport) void showDlg()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
m_dlg.DoModal();}
我现在的代码如下:已经进行了资源的操作,还是不幸
请高手指教,在下多谢了
void DllExport StartDlg()
{
HINSTANCE CurrentResource=AfxGetResourceHandle();
HINSTANCE NewInstance=LoadLibrary(_T("a1.dll"));
AfxSetResourceHandle(NewInstance);
LineDlg dlg(NULL, UserApp);
dlg.DoModal();
FreeLibrary(NewInstance);
AfxSetResourceHandle(CurrentResource); }
FreeLibrary(NewInstance); 我可不是什么高手,不行别笑话呀