我这个是创建的线程函数;代码如下
DWORD WINAPI threadFunc(LPVOID lpParameter)
{
int i = 0;
CDialog *pDlg;
while(1)
{
pDlg = new CDialog();
if(i++ == 0)
{
//Sleep(500);

pDlg->Create(IDD_DIALOG6,NULL);
pDlg->ShowWindow(SW_SHOW); }
pDlg->SetDlgItemText(IDC_TIME,"1111");
if(i>10)
{
pDlg->DestroyWindow();
return 1;
}

}


return 1;
}HANDLE hdl ;
hdl = CreateThread(NULL, 0, threadFunc, NULL, 0, NULL);CloseHandle(hdl);错误:我当我运行到pDlg->Create(IDD_DIALOG6,NULL)这行,出现提示,出错,不知道为什么

解决方案 »

  1.   

    把new语句也放到if里试试if(i++ == 0)
    {
    //Sleep(500);
    pDlg = new CDialog();
    pDlg->Create(IDD_DIALOG6,NULL);
    pDlg->ShowWindow(SW_SHOW); }
      

  2.   

    http://topic.csdn.net/t/20060809/09/4936530.html
      

  3.   

    CDialog *pDlg;CDialog 应该是你自己定义的名称吧;
      

  4.   

    DWORD WINAPI threadFunc(LPVOID lpParameter)
    {
    int i = 0;
    CDialog *pDlg;//CDialog 应该是你定义的对话框类名称while(1)
    {
    pDlg = new CDialog();//CDialog 应该是你定义的对话框类名称if(i++ == 0)
    {
    //Sleep(500);pDlg->Create(IDD_DIALOG6,NULL);
    pDlg->ShowWindow(SW_SHOW); }