aby 'Button1' jako string reprezentowal ten obiekt

0

Hej

Mam proste pytanko.

Mam na formie np Button1 i Button2. Chcialbym aby po kliknieciu np na Button1 wykonalo sie klikniecie drugiego Buttona, nazwa jego jest stringiem.
Przyklad:

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
  s:='Button2';
  // teraz nalezy na podstawie nazwy buttona j.w. wykonac Button2.click;
  //ale jak?
  // moze tak? : (s as Tbutton).click
end;

dzieki

0

Spróbuj skorzystać z mojego artykułu "rzutowanie metod" moze ort!.

0

FindComponent?

TCosTam(FindComponent('TCosTam')).Cosik - z glowy pisze wiec....

0

Jeśli ten Button jest na formularzu powiedzmy Form to ne ma problemu:

(Form.FindComponent(s) as TButton).Click

Mi zawsze działało.

0

a jak to zrobic dla zmiennej, ktora nie jest na formie czyli np TStringList ?
dzieki za pomoc

0

Ale co chcesz zrobić dla tej zmiennej (obiektu) TStringList?

0

a jak to zrobic dla zmiennej, ktora nie jest na formie czyli np TStringList ?
dzieki za pomoc

ja cie nie czaje. przeciez otrzymales juz odp. (powyzej twojej ost.)
pisales w pierwszym poscie ze chcesz wykonac akcje komponentu ktory podajesz. wiec w czym problem.
jesli masz kilka nazw to po prostu: for to do.
nie mozna wykonac tstringlist :d (jak sugeruje cytat :))

1 użytkowników online, w tym zalogowanych: 0, gości: 1