Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Pointer, Arbeitsspeicher etc..

  Alt 21. Nov 2005, 11:47
Hi,

Ich wollte den String auslesen der an einer bestimmten Speicheradresse liegt.

So

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var Hallo: Pointer;
    bla: String;
begin
Instanz := TKlasse.Create;
Instanz.Eigenschaft := 'Hallo';
Hallo := GetMemory($00403EB0); // an der Adresse müsste Instanz.Eingeschaft sein
SetLength(bla,sizeof(Integer));
bla := String(@Hallo);
ListBox1.Items.Add(bla);
end;
Da kommt jedoch nur kryptische Zeichen xD
Ist GetMemory dafür überhaupt geeignet ?
Und ich habe die Adresse herausgefunden indem ich z.B Caption := Instanz.Eigenschaft geschrieben habe bevor die Klasse erstellt wurde. Die Adresse von der Zugriffsverletzung hab ich dann genommen. Bin mir aber auch nicht sicher ob das so geht

Ach ja noch was wodrauf ich gestoßen bin, was ich sehr komisch fand:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var Hallo: Pointer;
    bla: String;
begin
Instanz := TKlasse.Create;
Instanz.Eigenschaft := 'Hallo';
Hallo := GetMemory($00403EB0); // Da müsste 'Hallo' gespeichert sein
Form1.Font.Name := (String(@Hallo));
SetLength(bla,sizeof(Integer));
ListBox1.Items.Add(bla);
end;
Das ist eine seltsame Erscheinung finde ich. Also wenn ich das so da stehen hab steht in der Listbox "comc"
Aber woher kommt das ? Ich hab Bla doch gar nix zugewiesen^^
Wenn ich schreibe

Caption := (String(@Hallo)); dann steht in der ListBox "Form".. komisch.
Vielleicht auch nur komisch weil ich von Pointern mal (fast) keine Ahnung hab
Michael
  Mit Zitat antworten Zitat