Forum: Object-Pascal / Delphi-Language
Delphi
by jaenicke,
23. Jul 2017
Dann hatte ich das falsch verstanden. :oops:
Dann bleibt wohl nur in dem TryEnter selbst ein Log hinzuzufügen. Eine Idee habe ich bei dem Quelltext dann allerdings nicht wie das passieren kann.
Außer dem Standard für wirklich unerklärliche Probleme: Speicher überschrieben, Klasse schon freigegeben, ...
Aber ansonsten gibt es darauf ja keine uns bekannten Hinweise, insofern...
Forum: Object-Pascal / Delphi-Language
Delphi
by jaenicke,
23. Jul 2017
Der Grund ist sehr einfach:
In Delphi 7 hatte TCriticalSection noch kein TryEnter, mittlerweile in neueren Versionen aber schon.
Deine Variable, in der du die Instanz gespeichert hast (hier TestCS), ist sicher vom Typ TCriticalSection. Deshalb wird in neueren Versionen die Methode TCriticalSection.TryEnter statt deiner Implementierung aufgerufen. Denn die Methode ist ja nicht überschrieben,...