Einzelnen Beitrag anzeigen

Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#6

AW: Von C++ nach Delphi (Macro)

  Alt 27. Mai 2011, 11:15
Wenn dir der Typ und Feld bekannt sind (und selbige idealerweise auch noch konstant bleiben), dann kennst du doch den Offset des Feldes und ziehst diesen einfach von der gegebenen Adresse ab und hast die gesuchte Basisadresse.

Code:
//Pseudocode, nicht schlagen :)

type
  MyType = record
    Var1: Typ1;
    Var2: Typ2;
    Var3: Typ3;
    Var4: Typ4;
  end;

CONTAINING_RECORD(Addr, MyType, Var3) = Addr - sizeof(Typ2) - sizeof(Typ1)
Gruß, Jan
  Mit Zitat antworten Zitat