Das Problem ist, dass ich für mein zuletzt genantes Beispiel keine Klasse habe und ich nur eine Funktion aufrufe.
Zitat:
TMonitor.Enter(MyObj); // macht dann intern quasi sowas wie ein MyObj.geheimesproperty.Enter;
// und vorher noch ein IF NOT Assigned(MyObj.geheimesproperty) THEN MyObj.geheimesproperty := TCriticalSectionÄhnlichesDing.Create;
Das verstehe ich jetzt nicht. Wofür denn nun Monitor und eine CS?
Ich glaube ich bleibe einfach bei CS - ist einfacher und nicht so ein Hexenwerk