在debug下编译运行一切正常,在release下编译通过,但运行时
出现'0x00406900'指令引用的‘0x000054'内存,该内存不能为’read'
我改变编译条件/Gz ,编译时出现
error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (__stdcall *)(void *)'UINT ThreadChange(LPVOID lPar)dlgpara.hWnd=GetSafeHwnd();
AfxBeginThread(ThreadChange, &dlgpara); 程序运行时的错误也正是调用线程时出的错。
请高手指点迷津。多谢了!
出现'0x00406900'指令引用的‘0x000054'内存,该内存不能为’read'
我改变编译条件/Gz ,编译时出现
error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (__stdcall *)(void *)'UINT ThreadChange(LPVOID lPar)dlgpara.hWnd=GetSafeHwnd();
AfxBeginThread(ThreadChange, &dlgpara); 程序运行时的错误也正是调用线程时出的错。
请高手指点迷津。多谢了!
解决方案 »
- 怎么重载OnCtlColor?
- TV_INSERTSTRUCT 我指定的lParam值为什么读不出来
- 普通对话框上的按钮怎么能像ON_UPDATE_COMMAND_UI一样,来自动控制它的可用状态
- 程序员一定要早点睡!!!
- 在ClistCtrl中用鼠标框选多行的事件是什么?(就像在资源管理器中点左键或右键拖动鼠标,选中多行)
- 怎样在一个自定义的Dialog子类中设置对话框中按钮的属性
- 请问,24位位图和32位位图的每一个像素的数据分别是怎样的?
- 求助:一个关于在VC++6.0中调用SQLSERVER2000存储过程的问题(百分求助)
- vc怎样动态该变控件的属性?
- 问一个关于工具条的问题
- 如果我在w2k里装了MSDN,我在98里可以使用吗?
- 为什么位图可以显示却不能打印
此示例说明如何定义控制函数并从程序的其他部分使用此函数。 UINT MyThreadProc( LPVOID pParam )
{
CMyObject* pObject = (CMyObject*)pParam; if (pObject == NULL ||
!pObject->IsKindOf(RUNTIME_CLASS(CMyObject)))
return 1; // if pObject is not valid // do something with 'pObject' return 0; // thread completed successfully
}// inside a different function in the program
.
.
.
pNewObject = new CMyObject;
AfxBeginThread(MyThreadProc, pNewObject);
{
dlgpara.hWnd=GetSafeHwnd();
AfxBeginThread(ThreadChange, &dlgpara);
}
出了函数后,dlgpara就被释放了。但你还在线程函数中使用它,如果是这样就会错啦!!!
DWORD gId;
void CTestApp::OnAutoRun()
{
// TODO: Add your command handler code here gId=AfxGetThread()->m_nThreadID; AfxBeginThread(ThreadAuto,&gId,
THREAD_PRIORITY_NORMAL,0,0,NULL); return;
}
UINT ThreadAuto(LPVOID lParam)
{
DWORD * id=(DWORD *)lParam; Sleep(2000);
PostThreadMessage(*id,WM_OPEN,1,0);
Sleep(1000);
PostThreadMessage(*id,WM_OPEN,2,0);
Sleep(1000);
PostThreadMessage(*id,WM_OPEN,3,0);
Sleep(1000);
return 0;}void CTestApp::OnWMOpen(WPARAM i) //(WM_OPEN消息函数)
{
gIndex=i;
OnFileNew();
}