Hallo, gut zu wissen, dass es TMutex auch in Delphi noch nicht so lange gibt... Wie du im Code gesehen haben musst, ist über dem "{$ELSE}" eine eigene Implementation von TMutex zu finden. Einfach den oberen Codepfad aktivieren (entsprechend auch im Implementation Teil).
Edit:
So, habs jetzt mal gescheit eingebaut: Einfach in der AcSyncObjs den Code folgendermaßen anpassen:
Delphi-Quellcode:
[...]
interface
{$INCLUDE andorra.inc}
//Determine whether the mutex object is available
{$DEFINE HAS_MUTEX}
{$IFDEF FPC}
{$UNDEF HAS_MUTEX}
{$ENDIF}
{$IFDEF DELPHI_5_DOWN}
{$UNDEF HAS_MUTEX}
{$ENDIF}
{$IFDEF VER140}
{$UNDEF HAS_MUTEX}
{$ENDIF}
{$IFDEF VER150}
{$UNDEF HAS_MUTEX}
{$ENDIF}
uses
SysUtils, SyncObjs;
type
TAcCriticalSection = TCriticalSection;
{$IFNDEF HAS_MUTEX} //<< Wichtig
TAcMutex =
class(TSynchroObject)
private
[...]
implementation
{$IFNDEF HAS_MUTEX} //<< Wichtig!
uses
AcSysUtils;
[...]