为何我在线程中执行MessageDlg会出错? ( 积分: 20 )

  • 主题发起人 主题发起人 网络孤客
  • 开始时间 开始时间

网络孤客

Unregistered / Unconfirmed
GUEST, unregistred user!
我在线程中执行MessageDlg会出错。
MessageDlg('此功能没设置',mtConfirmation,[mbOK],0);
Project XXXXXX.exe raised exception class EInvalidOperation with message 'Canvasdo
es not allow drawin'.Process stopped.Use Step or Run to continue.
如果对话框中没任何显示信息,就不会出错。
MessageDlg('',mtConfirmation,[mbOK],0);

是否是因为我在线程结束前执行造成的?如何避免?
 
我在线程中执行MessageDlg会出错。
MessageDlg('此功能没设置',mtConfirmation,[mbOK],0);
Project XXXXXX.exe raised exception class EInvalidOperation with message 'Canvasdo
es not allow drawin'.Process stopped.Use Step or Run to continue.
如果对话框中没任何显示信息,就不会出错。
MessageDlg('',mtConfirmation,[mbOK],0);

是否是因为我在线程结束前执行造成的?如何避免?
 
'Canvasdo
es not allow drawing'
是不是Canvas在线程中的锁定问题
应该:
Canvas.Lock;
....
Canvas.UnLock;
 
奇怪,好象和canvas无关
canvas对象在使用前,要锁定Canvas.Lock;,确定占有权;
使用完后要释放Canvas.UnLock;;
 
后退
顶部