VC6.0编译问题
问:我用自己设计的类编了一个程序。当我在编译项中设置为debug编译时,程序运行一切正常,当为release时程序却出了问题.怎么会这样?
答:1)为什么你既建立线程又将一个类成员作为线程处理?这样的话谁来调用你的析构函数?你不能试图将文档视窗类中的成员作为线程,象这样:
Ccapi::SomeFunction()
{
AfxBeginThread(static_cast<whatever string of casts to make this link>(ThreadProc(this)));
}
Ccapi::ThreadProc(LPVOID ptr)
{
// ptr and this are equal...
Ccapi* ptrApi = (Ccapi*)ptr;
};</whatever>
如果你是这样做的话可能需要做些改动
2)显然,m_pOwner或者m_pOwner->m_hWnd是不正确的,试试下面的:
if (NULL == capi)
::MessageBox(NULL, "bad capi", "CapiThread", MB_OK);
else if (NULL == capi->m_pOwner)
::MessageBox(NULL, "bad Owner", "CapiThread", MB_OK);
else if (!::IsWindow(capi->m_pOwner->m_hWnd))
::MessageBox(NULL, "bad hwnd", "CapiThread", MB_OK);
分享到:
相关推荐
本文讲述了VC6.0编译驱动时的配置,DDK驱动的加载!WDM驱动加载。
x264-VC6.0编译通过加代码完整注释版 Windows,在vc6.0可以直接编译通过,无需调试,代码注释完整清晰,是入门学习的极佳资料
本文档详细描述了如何在vc6.0编译环境下产生64位应用程序,附有详细图文,切可以在64位win7上运行
cjson使用例子,在vc6.0编译通过
NetCDF 库 之 VC 6.0 编译版本
QT4.3.3+VC6.0安装编译教程,QT4.3.3+VC6.0安装编译教程,
VC6.0下编译通过的ucos-II源代码 使用VC2005编译时会出错 若使用VC2005及以上版本时请下载 http://download.csdn.net/source/2218411
c++实现CRC校验源代码,VC6.0编译通过
MFC绘制曲线,VC6.0编译, C++, 亲手编译通过,无BUG
在VC6.0生成的exe中,开启一个Server和两个Client连接就是对的,一下是VC6.0源代码
VC 6.0下编译调试通过的ffmpeg源代码,测试OK,使用前请先将libsdl按照说明正确配置到VC的include、lib和system32目录中。
C++或C语言初学者适用的编译软件,里面含有MSDEV.EXE的 英文版
Error spawning cl.exe, VC 6.0编译报错出现时解决方案,在VC 6.0编译时出现上述错误
重装系统后vc6.0不能编译debug版本,你需要这些dlls
网上找的 OpenVG 的 Sample 可以用 VC 6.0 编译
PcShare源码 VC6.0 直接编译通过 经典远控
vc6.0编译pro*c程序步骤.ptt。
防止VC6.0编译的时候出现假死的情况,是微软发布的一个补丁,很好用得,我找了很久。
简单的RC4加解密程序,VC6.0编译通过