执行到CreateThread时总是报错,不知为何?分不多,帮帮忙。HANDLE m_HThread;DWORD _stdcall TGGCommunication::CommThread(LPVOID pParam)
{
// code
}BOOL TGGCommunication::StartMonitoring()
{
DWORD lpThreadId;
DWORD dwParam=1; m_HThread = CreateThread(NULL,
0,
CommThread,
&dwParam,
0,
&lpThreadId);}
{
// code
}BOOL TGGCommunication::StartMonitoring()
{
DWORD lpThreadId;
DWORD dwParam=1; m_HThread = CreateThread(NULL,
0,
CommThread,
&dwParam,
0,
&lpThreadId);}
{
// code
}
改为:
DWORD WINAPI CommThread(LPVOID pParam)
{
}
DWORD WINAPI CommThread(LPVOID pParam)
{
TGGCommunication *pThis = (TGGCommunication *)pParam; return 0;
}BOOL TGGCommunication::StartMonitoring()
{
DWORD lpThreadId;
DWORD dwParam=1; m_HThread = CreateThread(NULL,
0,
CommThread,
(LPVOID)this,
0,
&lpThreadId);}
什么错误?
"0x01542548"指令引用的"0x01542548"内存,该内存不能为"read".
DLL中根本不能创建线程!!!
这个是在栈上分配的,当线程函数传当然有问题了.
你换成DWORD pdwParam = new DWORD(1);再试.
我做过,DLL中可以开线程的
在根据错误值判断原因。另外有可能是权限不足的原因
>>>> DLL中根本不能创建线程!!!呵呵呵,滔滔江水....