Zitat von
zeras:
Mich wundert es nur, dass mein Programm bis vor kurzer Zeit eigentlich stabil lief und nun habe ich nur ein wenig erweitert und es kommt zu solchen Hängern. Aber bis jetzt läuft es nun eine halbe Stunde ohne "Hänger".
Das sind eben zufällige Effekte, die auftreten können, aber nicht müssen.
Zitat von
zeras:
Nur noch eine Frage: Bedeutet das, dass ich im Thread keine TStringlist nutzen kann? Ich brauche dies immer nur innerhalb einer Funktion Bsp.
Wenn du die TStringList nur innerhalb des selben Threads benutzt, wird es keine Probleme geben. Das im Thread erzeugte Objekt solltest du natürlich nicht außen weiternutzen (wäre aber ja ohnehin unsauber), aber solange es nur zum Weitergeben des Inhalts innerhalb von Synchronize benutzt wird, sollte es auch keine Probleme geben.
Und noch was in dem Zusammenhang: Eine visuelle Komponente oder z.B. auch ein TBitmap-Objekt darf nie im Thread erzeugt und dann nach außen weitergereicht und dort weiter verwendet werden.
// EDIT:
Auch TClientDataSet ist doch eine Komponente auf dem Formular? Dann kann es dabei auch Probleme geben, insbesondere, wenn es parallele Zugriffe darauf gibt. Wie die Komponente da genau aussieht weiß ich nicht, es kann also auch gut gehen, aber sauber ist das nicht.