Hallo Sirius,
Zitat von
sirius:
1. Du musst den Destructor schon überschreiben.
Das habe ich zwischenzeitlich schon selbst gemerkt und behoben.
Zitat von
sirius:
2a. Warum benutzt du eine ThreadList, wenn du diese nur im MainThread verwendest ...
Es tut mir leid, aber diese Frage verstehe ich nicht?
Mein Fernziel ist es später, das jeder Thread seine eigene Datei überwacht. Es sind Textdateien. In der Textverarbeitung ist Autosave und sonstwas an und wir haben ein sehr langsames VPN. Der Thread soll die Datei nach TEMP kopieren, mit dem verknüpften Programm dort starten und nach dem Ende wieder an den Ursprungsort zurück verfrachten.
-> Ich dachte dafür wäre ein Thread wie geschaffen. Hier teste ich doch nur!
Zitat von
sirius:
2b. Warum benutzt du eine ThreadList, wenn du sowieso nicht die eigentliche Funktionalität der ThreadList (Methode: LockList) verwendest?
Das verstehe ich auch nicht. Ich habe nachgelesen und bin zu der Meinung gelangt, dass LockList "nur" dafür sorgt, dass nicht alle gleichzeitig auf die Liste zugreifen können. Ich baue das aber noch ein.
Zitat von
sirius:
Edit2: Und außerdem löschst du die Listenelemente gleich zweimal in CleanUp und in FormDestroy.
Das verstehe ich ja auch nicht. Denn das Element müsste in Cleanup gelöscht worden sein. Dann dürfte es aber bei FormDestroy nicht mehr existieren, oder?
Mein Problem ist auch nicht, dass es nicht klappt, sondern die "komische" Fehlermeldung:
Thread-Fehler: Das
Handle ist ungültig (6)
Und dass obwohl ich den Code aus meiner Fundstelle
bis auf den Thread 1:1 abgeschrieben habe.
[edit]Mit 1:1 abgeschriebenem Code kommt schon beim Anlegen des Thread diese Fehlermeldung:
Exception der Klasse EAbstractError mit der Meldung 'Abstrakter Fehler'.[/edit]
Bitte nicht hauen: Es gibt bei TObjectList die Eigenschaft OwnsObjects. Wenn ich die auf True setze, dann müssten doch die Threads beim Beenden mit platt gemacht werden, oder?
Gruß und Danke, Alex