Thema: Delphi Pointer und TObject

Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#1

Pointer und TObject

  Alt 29. Apr 2006, 15:07
Wie geht das, wenn ich einen Zeiger z.B. auf Form1.Caption zeigen lassen will?
Wenn ich dann den Wert des Zeiger ändere, müsste sich doch auch die Caption von Form1 ändern...

Theoretisch müsste es doch so gehen:
Delphi-Quellcode:
type
  a = ^String;

  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  b: a;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  b := @Caption;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  b^ := 'test';
end;
Aber praktisch funzt es nich...
Kann mir jemand den Code so abändern, dass er funzt?


Es soll natürlich nicht nur mit Form1.Caption gehen, sondern z.B. auch mit Label1.Caption oder Label1.Font.Name etc.

Ziel ist es, ein Array mit Zeigern auf String zu erstellen.
Dann noch eine Prozedur der ein Zeiger auf einen String übergeben wird (z.B. Label1.Font.Name), dieser wird dann dem Array hinzugefügt.
Führe ich dann z.B. diesen Befehl aus (b ist dann mein Array):
b[1] := 'Arial'
so sollte also die Schriftart von Label1 Arial sein.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat