Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Visual C++ (6 MFC): Thread soll Editbox füllen....

ExElNeT / 6 Antworten / Flachansicht Nickles

Hi!


Ich habe ein Problem ich möchte in einem Thread eine Berechnung durchführen, die ihre zwischenergebnisse an eine Editbox ausgibt. Nur leider .... wie so oft.... geht es nicht so wie ich es mir dachte!


hier mein code:


UINT CMyThread(LPVOID lpParam)
{
 CTestitDlg* cfg = reinterpret_cast<CTestitDlg*> (lpParam);
 
 for(int i = 0;i<100;i++)
 {  
  Sleep(100);
  CString str;
  str.Format("%d", i); 
  cfg->m_Test = str;


  cfg->UpdateData(FALSE); 
 }


 return 0;
}


void CTestitDlg::OnTest()
{
 // TODO: Add your control notification handler code here
 AfxBeginThread(CMyThread, this);
}


 


Bei UpdateData(FALSE); tritt ein Fehler in der wincore.cpp auf. Wie kann ich den Code umschreiben um eine funktionierende kommunikation zwischen neben und hauptthread herzustellen?


Ich bitte um Hülfe :)

bei Antwort benachrichtigen
ExElNeT thomas woelfer „du musst die beiden threads irgendwie synchronisieren, denn der eine thread darf...“
Optionen

Oh... Kennst du für syncronisation von threads in der mfc (überhaupt c++) einen Artikel? Oder hast du ein Beispiel? Ich blicke nämlich bei den Erklärungen die ich bisher gefunden habe nicht durch.

mfg ExElNeT

bei Antwort benachrichtigen
das reicht nicht thomas woelfer