Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Потоки в VC++6.0 (http://forum.oszone.net/showthread.php?t=29981)

Guest 20-02-2004 01:44 206589

Захотелось мне однажды создать поток при нажатии бутона  Send. Вот отрывок кода. "а"  имеет тип LPVOID

void CLabor1Dlg::OnSendButton()
{int temp;

CWinThread* pThread1=AfxBeginThread( SendMyMessage(a), GetSafeHwnd() ,THREAD_PRIORITY_NORMAL);

}

UINT CLabor1Dlg::SendMyMessage(LPVOID pParam)
{

if!(channel.Open("data",CFile::modeWrite, &e ))
                                          AfxMessageBox("Can't open channel", MB_OK);

return 0;
}

А оно мне вот что пишет error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int'
Что я уже ни делал ничего не помпгает. Может ви поможете юному "зеленому" програмеру

Crew 20-02-2004 05:06 206590

Я особенно не вдавался каким другим способом можно сделать, но у меня получилось так
Код:


UINT ThreadProc(LPVOID param)
{
 * * * * CFlashDlg *flashdlg=(CFlashDlg*)param;
 * * * * try
 * * * *{
 * * * * * * * *//.....................
 * * * * }
 * * * * catch(...)
 * * * *{
 * * * * * * * //.....
 * * * *}
 * * * * flashdlg->SendMessage(WM_THREADENDED);
 * * * * return 0;
}
void CSearch::PrepareRunThread()
{
        ASSERT(m_pFlashDlg);
        AfxBeginThread(ThreadProc,m_pFlashDlg);
}

основное отличие, я так понимаю, способ описания UINT ThreadProc(LPVOID param). кажется она глобальной должна быть


Время: 13:50.

Время: 13:50.
© OSzone.net 2001-