R
Hey,
und zwar hab ich nen Thread, der mir, sobald er neue Daten von der COM-Schnittstelle geholt hat, ne eigene Message schickt und ich daraufhin dann ne Funktion anwerfe, die ein ListCtrl mit den Daten von der RS232 füllt.
Ist nur die Frage, wie ich das lösen kann, dass alle gesendeten Messages abgearbeitet wurden !? Der Thread soll ja per Klick auf Stop beendet werden, ich will aber nicht dass noch es eine Message gibt, die noch nicht bearbeitet wurde.
Der Eventhandler für den Stop-Button sieht ja so aus:
...
if (m_pDoc->StopRecv())
{
m_StartButton.EnableWindow(TRUE);
m_StopButton.EnableWindow(FALSE);
m_PauseButton.EnableWindow(FALSE);
m_LogButton.EnableWindow(TRUE);
m_lbStatus.InsertString(0, "Empfang gestoppt...");
m_lbStatus.SetCurSel(0);
count = -1;
if (CanWrite)
{
LineToLog = "";
LineToLog = "\r\n";
WriteFile(m_pDoc->hLogFile, LineToLog, LineToLog.GetLength(), &dwDummy, NULL);
}
m_lbEmpfang.ResetContent(); // <- hier meine ich
m_tool.DeleteAllItems(); // <- hier auch
}
...
Denn nach dem Klick auf Stop soll ja alles im ListCtrl gelöscht werden, nur hab ich immer noch Einträge drin, obwohl der Thread sauber beendet wurde, deshalb die Vermutung und meine Frage.
Per PeekMessage ist ja sowas möglich, nur weiß ich nicht genau, wo ich das abarbeiten soll bzw. ist das "performant", wenn ich das Abarbeiten in dem Stop-Handler mache, bzw. wie man genau mit PeekMessage umgeht ??
Schonmal Danke für die Hilfe