C
chenzhu
Unregistered / Unconfirmed
GUEST, unregistred user!
有两个窗体Form1和Form2,还有一个线程对象MyThread:
在Form1有一个按钮,实现功能如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
MyThread *pMyThread = new MyThread(true);
pMyThread->Resume();
}
在线程对象MyThread实现功能如下:
void __fastcall MyThread::Execute()
{
TForm2 *pForm2 = new TForm2(Application);
pForm2->ShowModal();
}
运行程序时报错,raised exception class EInvalidOperation with message 'Canvasdo
es not allow
drawing'.Process stopped.Use Step or Run to continue.
但是单步调试时程序很正常,可以用另一个线程生成Form2对象并显示出来。
请问这是为什么?
在Form1有一个按钮,实现功能如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
MyThread *pMyThread = new MyThread(true);
pMyThread->Resume();
}
在线程对象MyThread实现功能如下:
void __fastcall MyThread::Execute()
{
TForm2 *pForm2 = new TForm2(Application);
pForm2->ShowModal();
}
运行程序时报错,raised exception class EInvalidOperation with message 'Canvasdo
es not allow
drawing'.Process stopped.Use Step or Run to continue.
但是单步调试时程序很正常,可以用另一个线程生成Form2对象并显示出来。
请问这是为什么?