Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

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

Re: schreibender Zugriff auf private Variablen ?

  Alt 7. Nov 2007, 06:19
Hast du den Source der Klasse ? Wenn ja kopiere deren Deklaration, nenne sie um, schmeiße alle Methoden usw. raus bis nur noch die privaten Felder in deiner neuen Deklaration drinnen stehen. Beim Zugriff auf diese Felder castest du dein Object zum neuen Klassentyp. Das sähe so aus:

Delphi-Quellcode:
type
  TXYClassCracker = class(TXYClassAnchor)
  private
    FField: .....
  end;

procedure Test;
begin
  TXYClassCracker(Object).FField := ....;
end;
Du deklarierst quasi eine 1 zu 1 Kopie deiner Klasse auf die du später illegalen Zugriff erlangen möchtest. Letzendlich geht es dabei nur darum das der Compiler die richtigen Zeigeroffsets auf die Felder des Objectes errechnen kann.

Gruß Hagen
  Mit Zitat antworten Zitat