Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#11

Re: Delphi Inline Assembler Zugriff auf Privates Objekt

  Alt 18. Nov 2003, 09:03
Korrekt, da FMask ein Zeiger ist der im "Record" eines Objectes steht, musst du selber dereferenzieren. Ein Machinenbefehl zum direkten derefernezieren mehrerer Referenzen existiert dafür nicht. Es liegt also nicht an Delphi oder Assembler, sondern einfach an den Möglichkeiten der CPU.

Desweiteren nutze nicht deine obige Art des "Typcast" in ASM. Besser ist:
Delphi-Quellcode:
asm
   MOV EBX,[EAX].TMyClass.FMask
   CMP EAX,[EBX].TMaskClass.FRect.Left
end;
Ab D7 ist deine obige Syntax ungültig.

Gruß Hagen
  Mit Zitat antworten Zitat