Forum: Programmieren allgemein
Delphi
by shmia,
16. Mai 2012
Deine bisherige Vorgehensweise ist fehlerhaft (Siehe Beitrag #4).
Unter gewissen Umständen greift dein Thread auf ungültigen Speicher zu.
Ob dein Code funktioniert hängt mehr oder weniger vom Zufall ab.
In folgendem Demo
http://www.delphipraxis.net/168253-schlafende-threads.html
kannst du Dir anschauen, wie man einen AnsiString (oder beliebige Daten) einem Thread zur Verarbeitung übergeben...
Forum: Programmieren allgemein
Delphi
by shmia,
10. Mai 2012
Hat das einen bestimmten Grund, dass du überall Low-Level-Code verwendest?
Würde man eine TThread-Klasse zusammen mit einer TThreadList (als threadsichere Queue) verwenden, wäre der Code viel klarer.
Nachtrag: Dazu noch ein TSimpleEvent, damit der Thread die Queue nicht pollen muss.
Und in deiner Funktion SchickeNachricht sehe ich das Problem, dass du mit New einen Zeiger reservierst, aber...