Tschaa ... jetzt wolle ich ne kleine Demoapp schreiben (bezüglich der Zeit) und da taucht das Problem nicht mehr auf.
Mal sehen, vielleicht finde ich die alten Sourcen noch mal.
TCriticalSection ist eigentlich nur ein Wrapper für eine RTL_CRITICAL_SECTION, ergo wird das wohl gleich schnell sein. Muss daher wohl am Projekt selbst gelegen haben.
5.: Das dürfte wirkungslos sein, da die CriticalSection scheinbar pro Objekt existiert. So würde zwar jeder Thread das Lock setzen, aber kein anderer würde sich daran stören.
Die könnte man als class var speichern und dafür im class contructor initialisieren und im class destructor wieder freigeben.
Jup, das ist klar. Aber bevor ich da jeder Klasse eine extra CriticalSection mitgebe, schreibe ich mir da dann doch liebe einmal eine threadsichere Methode, die das Format eben entsprechend kapselt
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)