Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Array in anderes Array integrieren

  Alt 15. Jul 2008, 11:22
Ja, da ist mir ein Fehler unterlaufen. Du könntest entweder AktiveWuerfe und InaktiveWuerfe als array of Integer deklarieren - wenn das Timer-Intervall kurz genug ist, sollte es nicht zu Überläufen kommen - oder eine andere Funktion verwenden:
Delphi-Quellcode:
//Ersetzt Target durch Value und gibt den alten Wert von Target zurück
function InterlockedExchange64(var Target: Int64; const Value: Int64): Int64;
asm
  push ebx
  push esi
  mov esi, eax
  mov ebx, [ebp + 8] //ich hasse es, wenn Delphi einen Stackframe generiert, ohne mich zu fragen
  mov ecx, [ebp + 12]
  mov eax, [esi]
  mov edx, [esi + 4]
  @@Loop:
  lock cmpxchg8b [esi]
  jnz @@Loop
  pop esi
  pop ebx
end;
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat