Nein, ab D7 funktionieren nur die zweite Notation als Typcast, bzw genauer gesagt als korrekter Qualifier eines Recordelementes. Denn die erste Notation ist ein Pascaltypischer Typcast, die zweite Notation aber ein in
Asm reguklärer Strukturqualifier.
Delphi-Quellcode:
type
TMyObject =
class
FProc:
procedure(
const Data; DataSize: Integer)
of object;
end;
procedure TMyObject.Calc(
const Data; DataSize: Integer);
assembler;
asm
JMP DWord Ptr [EAX].FProc.TMethod.Code
// in D7
JMP TMethod([EAX].FProc).Code
// bis D7 möglich
end;
Beides wären regulär gültige Syntax, aber nur der erste Fall wird ab D7 durch den inline
Asm akzeptiert. Betrachtet man meine obige Aussage was der Unterschied beider Syntax sind (Typcast <> Qualifier) dann ist dies auch logisch. Auch ich habe dies erneut lernen müssen
und meine nun das es korrekt war in D7 diese Syntax zu straffen.
Gruß Hagen