Seite 1 von 1

PeekP und PokeP

Verfasst: 12.09.2008 14:15
von STARGÅTE
Der Code ist fast ein Witz, aber jetzt wo der 64Bit Compiler näher rückt, wird man es bestimmt öffters brauchen.

Mit PokeP oder PeekP kann man einen Pointer der ja entwerder 32 oder 64 Bit hat in den Speicher schreiben.

Außerdem noch die Structure (die ich nicht gefunden habe) für Pointer:

Falls es das in der 4.30 schon gibt, oder irgendwo anders steht, dann soll ein MOD das bitte löschen :|

Code: Alles auswählen

Structure POINTER
 *Pointer
EndStructure

CompilerIf SizeOf(POINTER) = SizeOf(QUAD)
 Macro PeekP(MemoryBuffer)
  PeekQ(MemoryBuffer)
 EndMacro
 Macro PokeP(MemoryBuffer, Pointer)
  PokeQ(MemoryBuffer, Pointer)
 EndMacro
CompilerElse
 Macro PeekP(MemoryBuffer)
  PeekL(MemoryBuffer)
 EndMacro
 Macro PokeP(MemoryBuffer, Pointer)
  PokeL(MemoryBuffer, Pointer)
 EndMacro
CompilerEndIf

Verfasst: 12.09.2008 14:33
von milan1612
Gibts schon :wink:

Re: PeekP und PokeP

Verfasst: 12.09.2008 14:33
von ts-soft
STARGÅTE hat geschrieben: Falls es das in der 4.30 schon gibt, oder irgendwo anders steht, dann soll ein MOD das bitte löschen :|
Wird nicht verraten, PeekI und PokeI könnten die wohl heissen :mrgreen:
Den Datentyp .i kannste bereits in 4.20 nutzen, macht aber nur zur späteren
Migration sinn!

// edit
shit, war Nürnberg wieder 21 Sek. schneller als Berlin

Verfasst: 12.09.2008 14:36
von hardfalcon
ts-soft, du pöser Whistleblower!1! :wink:

Thx für die Info! :allright:

Re: PeekP und PokeP

Verfasst: 12.09.2008 15:05
von AND51
ts-soft hat geschrieben:Den Datentyp .i kannste bereits in 4.20 nutzen, machtaber nur zur späteren Migration sinn!
Waaaaah!? Seit wann? Wieso weiß ich daovn nichts? Dachte, das kommt erst mit 4.30.........

Verfasst: 12.09.2008 15:06
von STARGÅTE
nagut ^^ dann hau es halt in die Tonne ....

Verfasst: 12.09.2008 15:11
von AND51
Hab grad a-z durchgetestet... außer den bekannten Datentypen funktioniert nur '.i' in 4.20, es gibt also keine weiteren Überraschungen^^

Verfasst: 12.09.2008 15:13
von ts-soft
STARGÅTE hat geschrieben:nagut ^^ dann hau es halt in die Tonne ....
Die Idee war doch schon gut :allright:
Allerdings sind in 64-Bit natürlich nicht nur die Pointer, sondern auch die
Handles zu berücksichtigen! Und SetWindowLong_ geht natürlich auch nicht.