Вопрос

Tried to launch a message box in my MyThread Class as below:

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;
}

Soon after thread instance created and started, application crashed. Cant we launch MessageBox using threads in my UiApp ?

Regards,

Anil

Это было полезно?

Решение

According to the Tizen Dev Guide,

The Tizen UI framework is not thread-safe. Therefore, only the main thread can dispatch events to the UI controls and interact with them. This means UI handling must always be done in the main thread.

You cannot create and show a MessageBox in a thread other than the main thread.

If you would like to show something from the thread you created, use SendUserEvent() in your thread and OnUserEventReceivedN() in the main thread as shown in the guide.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top