阅读:1361回复:5
在DLL中不能启动线程?
最近我在学习PDIUSBD12,用的是zlg的板子,计算机与下位机通讯时要调用zlg给的dll,可气的是没有源程序,因此我想自己做一个dll,不过遇到个问题。
VC中是建立线程来接收usb的数据的,可是我在vc中调用自己的dll就无响应了,我跟踪后发现只要在DLL中执行AfxBeginThread建立线程就是这样。DLL中的源程序应该没什么问题,因为我将DLL源程序输入到VC测试程序中直接调用就能正常工作。 这是什么原因呢?调试好后我会将源程序发出来的。 |
|
沙发#
发布于:2004-09-02 08:37
有没有跟踪一下,哪里出错了
|
|
|
板凳#
发布于:2004-09-02 08:59
跟踪过了,就是在VC中运行LoadLibrary加载DLL时无响应,在DLL中设置提示信息发现是在AfxBeginThread时失去响应,我在线程程序的入口加了提示,发现线程程序也没有运行。
|
|
地板#
发布于:2004-09-02 09:41
是不是你的dll路径什么的问题,跟踪调试一下,应该是可以的。
|
|
地下室#
发布于:2004-09-02 09:49
MFC的AfxBeginThread好象不行,你用sdk的CreateThread试一下。
|
|
|
5楼#
发布于:2004-09-02 13:06
你是不是在DllMain中创建的线程?这是不允许的
http://support.microsoft.com/?kbid=142243 |
|