Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: schreibender Zugriff auf private Variablen ?

  Alt 6. Nov 2007, 15:59
Vielleicht geht's so: Einander zugewiesene Strings zeigen ja normalerweise solange auf denselben Speicherbereich, bis man sie ändert. Irgendwo in der Struktur TmyTest muss es einen Zeiger auf denselben String geben, wie getTest ihn zurückliefert.

(ungetestet)
Delphi-Quellcode:
type
  PString = ^string;

function FindStringReference(Obj: Pointer; Size: Integer; const TheString: string): PString;
begin
  while Size >= 8 do
  begin
    Obj := Pointer(Integer(Obj) + 4);
    dec(Size, 4);
    if PInteger(Obj)^ = Integer(@TheString) then
    begin
      Result := PString(Obj);
      Exit;
    end;
  end;
  Result := nil;
end;

// Aufrufen mit:
FindStringReference(myObj, SizeOf(myObj), myObj.getTest)^ := 'Neuer Text';
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat