Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - per Variable auf andere Variable zugreifen


Roux - So 29.06.08 11:07
Titel: per Variable auf andere Variable zugreifen
Hi!
Ich habe 3 TSharpe Objekte, nennen wir sie Test1, Test2 und Test3. Dazu habe ich folgende Funktion:

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.zLinie(Sender: TObject; Start:String; Ende:String);
begin
     Label1.Caption := Start.Top;
     Label2.Caption := Start.Left;
end;


Also, ich möchte 2 Sharpe Objekte verbinden. Ich habe eine Funktion der ich 2 String-Werte übergebe - die Namen der Objekte (also z.B. Test1 und Test2). Somit beinhaltet Start den Wert Test1 und Ende den Wert Test2. Ganz einfach mit Start.Top kann ich allerdings nicht auf Test1.Top zugreifen - ist dies überhaupt möglich? Oder brauch ich da Sachen der Vererbung etc.
(Der restliche Code zur Linie zeichnen würde folgen - das oben ist nur ein Test von mir gewesen, ob dies überhaupt möglich ist)

Roux


Tilman - So 29.06.08 11:31
Titel: Re: per Variable auf andere Variable zugreifen
Naja du könntest mit findcomponent den "Link" auf die Komponente finden. Einfacher geht es aber wenn du sie direkt als TShape übergibst:


Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.zLinie(Start,Ende:TShape);
begin
     Label1.Caption := IntToStr(Start.Top);
     Label2.Caption := IntToStr(Start.Left);
end;


(IntToStr nötig, weil Top und Left vom Typ Integer sind; Label1.Caption jedoch vom Typ String)


Roux - So 29.06.08 11:47

Ah, genau, so wollt ichs :) Das mit der Typumwandlung hätt ich dann bemerkt *gg*
Danke^^

Roux