Hallo,
Zitat:
Statt {$APPTYPE CONSOLE} einfach AllocConsole aufrufen, um ein Konsolenfenster zu erstellen.
Genial einfach und funktioniert! Danke!
Zitat:
TAuSyncMgr.Create - der Vorfahre wird besser zuerst initialisiert
Da stimme ich dir zu - jedoch bin ich mir nie sicher, wenn ich eine Klasse von TThread ableite, ob der Thread nicht schon direkt im "inherited Create(false)" gestartet wird. Ich war aber auch zu faul um nachzuschauen, also habe ich es einfach so gemacht
Zitat:
leere Try-Except-Blöcke sind eigentlich nicht so schön
Stimmt auch... Ich wollte das ganze halt besonders ausfallsicher machen
Zitat:
mgr kann nie NIL sein, denn diese
Unit, bzw. deren finalization wird erst aufgerufen, wenn die
Unit nirgendwo mehr benötigt wird ... drum kann nichts mehr danach (nach mgr.Free) etwas aufrufen
Das sagst du so einfach. Ich habe diese Überprüfung auch erst nach schmerzhaften Erfahrungen mit Threads, die nicht richtig beendet wurden und Methoden des Syncmanagers aufrufen, eingebaut. Dannach habe ich mir angewöhnt auch alle - eigentlich unlogischen - eventualitäten zu berücksichtigen. Sicher ist sicher...
Trotzdem vielen Dank fürs durchschauen des Codes, besonders das mit den Try-Except-Blöcken übernehme ich. Der Code hat jetzt auch schon mehr als ein Jahr lang "Reifung" hinter sich, also nicht wundern...