在Thread中启动MessageBox时遇到崩溃

时间:2013-11-29 12:57:25

标签: tizen

尝试在我的MyThread类中启动一个消息框,如下所示:

Object*
MyThread::Run(void)
{
    AppLog("@ MyThread::Run(void)");

    MessageBox messageBox;
    messageBox.Construct(L"MessageBox Title", L"MessageBox Sample Code.", MSGBOX_STYLE_OK, 10000);

    int modalResult = 0;

    messageBox.ShowAndWait(modalResult);

    return null;
}

创建并启动线程实例后不久,应用程序崩溃了。我们不能在我的UiApp中使用线程启动MessageBox吗?

此致

阿尼尔

1 个答案:

答案 0 :(得分:1)

根据the Tizen Dev Guide

  

Tizen UI框架不是线程安全的。因此,只有主线程可以将事件分派给UI控件并与它们进行交互。这意味着必须始终在主线程中完成UI处理。

您无法在主线程以外的线程中创建和显示MessageBox。

如果您想从您创建的主题中显示某些内容,请在主题中使用线程中的SendUserEvent()和主线程中的OnUserEventReceivedN()。