Jaja, es ist immer besser, alles zu sagen und wenn möglich auch den Originalcode zu zeigen, da sonst wichtige Informationen fehlen.
Ich hoffe du hast die Zugriffe auch orgendlich abgesichert. !:!
- z.B. synchronisieren oder über CriticalSections sperren
Dein Fehler war also nicht der Thread, sondern die Speicherverwaltung.
Wenn du schon sowas machst, dann soltest du unbedingt lernen und verstehen, wie das mit den Pointern so funktioniert.
Zitat:
copyDataStruct.lpData := PChar(Nachricht);
Hier wird nur ein Zeiger auf die Daten des Strings "Nachricht" in lpData gespeichert.
Wenn jetzt der String zwischenzeitlich verändert oder freigegeben wird, dann ist auch der Zeiger ungültig.