Einzelnen Beitrag anzeigen

Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: InterlockedCompareExchange in FreePascal

  Alt 6. Jan 2015, 12:54
Hallo,

ich habe die Sache auf eine andere Art gelöst, ist aber nicht so schön
Code:
function InterlockedCompareExchangePtr(var Target : Pointer; NewValue : Ponter; Comperad . Pointer): Pointer;
var
  TV, NV, CO : Longint;
begin
  TV := Longint(Target);
  NV := Longint(NewValue);
  CO := Longint(Comperad);
  Result := Pointer(InterlockedCompareExchange(TV, NV, CO));
end;
Der Typecast musste sein, da der Compiler bei einem
Code:
InterlockedCompareExchange(Longint(Target), Longint(NewValue), Longint(Comperad))
das der Variablen und keine Konstanten haben möchte.

Mal schauen ob die Lösung auch die Lösung ist.

Danke
  Mit Zitat antworten Zitat