Eine Instanz ist eigentlich ein Pointer auf den Bereich wo die Daten für die Klasse liegen.
Wenn du also weißt an welchem Offset der String liegt brauchst du einfach nur auf die Instanzvariable den Offset addieren, die erhaltene Adresse auf einen PString casten und dann zu ändern.
bei
Delphi-Quellcode:
type
TmyTest = class(TObject)
private
sTest: string;
public
constructor Create;
function getTest: string;
end;
kommst du so an "sTest":
Delphi-Quellcode:
var
lMyTest : TmyTest;
begin
lMyTest := TmyTest.Create();
PString(Cardinal(lMyTest) + Cardinal(TmyTest.InstanceSize) - sizeof(string))^ := 'neuer Wert';
[Edit]
TmyTest.InstanceSize auf Cardinal gecastet um Warnung weg zu bekommen
[/Edit]