Einzelnen Beitrag anzeigen

Blatt

Registriert seit: 8. Sep 2010
17 Beiträge
 
#1

Pointer: Zirkumflex Frage

  Alt 15. Sep 2010, 21:34
Delphi-Version: 7
Hi, ich verstehe nicht so ganz, wann man das benutzen kann und wann nicht.
Mir scheint es so, als würde es gar nicht dynamisch geparst werden, sondern vielmehr statisch eingebaut.

Hier ein Beispiel:
Delphi-Quellcode:
//funktioniert
PByte(Dword(Offset)-i)^

//funktioniert nicht
^Byte(Dword(Offset)-i)^
Ich verstehe nicht, wo das Problem liegt..
Ich hätte damit gerechnet, dass es einfach ein Cast mit einer darauffolgenden Dereferenzierung ist..

Ebenso das hier:
Delphi-Quellcode:
//funktioniert
procedure test(ptr: PByte);

//funktioniert nicht
procedure test(ptr: ^Byte);
... PByte = ^Byte, oder nicht? Wo ist dann der Unterschied, sodass es nicht funktioniert?..

Und noch zum untypisierten Pointer:
Wie genau castet man den, vor dem Dereferenzieren oder danach, und wie genau, etc.

Vielen Dank!
  Mit Zitat antworten Zitat