Mailslotnachrichten in den Speicher schreiben und wieder auslesen???
-
Hallo,
Ich habe Mailslotnachrichten die ankommen, nun suche ich eine Möglichkeit sie in einen Speicher zu schreiben und sie auch wieder auszulesen und wen möglich
sie nach bestimmten kriterien zu durchsuchen... also über den index vielleicht wieder zugreifen zu können...kann mir da jemand einen tip geben! Danke
-
Was sind "Mailslotnachrichten"?
-
Hab mich da wohl etwas unverständlich ausgedrückt...
Also es handelt sich um Debug-Nachrichten die über
den Mailslot dem Programm übergeben werden...Beispiel des öffnen des Slots...
void TmyThread::createMailslot() { hMailslot = CreateMailslot(sCreateDebugMailSlot, 399, 5000, NULL); if(hMailslot == INVALID_HANDLE_VALUE) { /*Fehler: Mailslot konnte nicht geöffnet werden. Weitere Informationen über den Fehlschlag können über GetLastError() ermittelt werden */ //Error Messagebox mit GetLastError() Application->MessageBox(("Mailslot konnte zum Empfang nicht geöffnet werden!\n Fehler: \n" + String(GetLastError())).c_str(),"Mailslotfehler",MB_OK | MB_ICONSTOP); //Statusbaranzeige über den Fehlschlag frm_main->StatusBar1->Panels->Items[0]->Text=" Mailslot ERROR!"; } else { /*hMailslot ist ein gültiges HANDLE für den Mailslot und kann im Weiteren für Lesezugriffe mit ReadFile benutzt und muss mit CloseHandle() geschlossen werden */ //Statusbaranzeige des erfolgreich geöffneten Mailslot frm_main->StatusBar1->Panels->Items[0]->Text=" Mailslot erfogreich geöffnet.."; } }
-
Und was genau ist jetzt das Problem? Du liest die Nachrichten per ReadFile in einen Buffer und schreibst diesen z.B. als String in eine StringList. Pseudocode:
char *buf = new char[bufsize+1]; ReadFile(..., buf, ...); list->Add(buf); ... delete [] buf;
-
Danke
hätte ich normal auch selber drauf kommen müssen...