2009-11-25 1 views
0

Я создал поток пользовательского интерфейса. Я отправляю сообщение в поток пользовательского интерфейса, который будет записывать данные в файл.Ошибка PostThreadMessage

Я использую API PostThreadMessage, чтобы опубликовать сообщение в пользовательской теме. Моя проблема в том, что он не записывает все данные, которые я опубликовал. Для экземпляра, если я отправляю 100 данных, он пишет случайным образом 3 или 98 меняется для каждого исполнения. Обработчик для Postdata не вызывается для каждого сообщения.

CWriteToFile *m_pThread = (CWriteToFile *)AfxBeginThread(RUNTIME_CLASS (CWriteToFile)); 

PostThreadMessage(m_pThread->m_nThreadID , WM_WRITE_TO_FILE, (WPARAM)pData,NULL); 

WaitForSingleObject(m_pThread, INFINITE); 

Возвращаемая стоимость PostThreadMessage является успешной.

+0

Благодарим за ответ. Возвращаемое значение сообщения является успешным для всех сообщений. Но обработчики вызываются только для нескольких сообщений. – Karthik

ответ

0

Семейство функций PostMessage может сбой, если очередь сообщений заполнена. Вы должны проверить, успешно ли вызов функции.

 Смежные вопросы

  • Нет связанных вопросов^_^