Odwołanie do dynamicznych komponentów

Odwołanie do dynamicznych komponentów
0

Tworze dynamicznie na nowym formularzu w pagecontrol1 nowe zakładki. W każdej zakładce jest memo i listbox. Przypisuje im nazwy. Jak teraz dopisac coś do memo lub do listboxa?

Wodzu
  • Rejestracja:około 23 lata
  • Ostatnio:około 10 lat
0

Kazda zakladka TTabSheet ma property Components. Iterujesz po tej liscie i sprawdzasz ktory komponent to Twoje TMemo.

Pzodrawiam.


"as above, so below..all things come from the one. Now You are the victim, carried by the wind, then rooted to the ground. If You want, to learn the secrets..close Your eyes..."
0

W sytuacji gdy szukam komponentu na aktualnej Formie to używam polecenia:
TMemo(FindComponent('moja_nazwa_memo1')).Lines.add('jakis_tekst');
i wszystko jest OK. Jak jednak poszukać komponentu memo np na form2?
Nie można przecież po prostu napisać
Form2.TMemo(FindComponent('moja_nazwa_memo1')).Lines.add('jakis_tekst');

Marmar
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 2 lata
  • Postów:317
0

a może:

Kopiuj
TMemo(Form2.FindComponent('moja_nazwa_memo1')).Lines.add('jakis_tekst');

? ;-)

0

pale sie ze wstydu, ale mam coś jeszcze
Napisałem procedure obsługującą kliknięcie w buttona stworzonego dynamicznie. Problem w tym, że odwołuje się w niej do Tmemo stworzonego również dynamicznie i otrzymuje błąd Access Violation
Oto kod:

Kopiuj
procedure TForm2.Klik(Sender: TObject);

begin
    TMemo(Form2.findcomponent('nazwamemo')).lines.Add('edit.text');
end;
Wodzu
  • Rejestracja:około 23 lata
  • Ostatnio:około 10 lat
0
Sebalo napisał(a)

pale sie ze wstydu, ale mam coś jeszcze
Napisałem procedure obsługującą kliknięcie w buttona stworzonego dynamicznie. Problem w tym, że odwołuje się w niej do Tmemo stworzonego również dynamicznie i otrzymuje błąd Access Violation

A jestes pewien, ze przyczyna tkwi w odwolaniu do TMemo a nie w samej metodzie?

Pokaz wiecej kodu, wlacznie z przyporzadkowaniem metody do Buttona.


"as above, so below..all things come from the one. Now You are the victim, carried by the wind, then rooted to the ground. If You want, to learn the secrets..close Your eyes..."
0

Już sobie poradziłem. Zdarzenie OnClick miałem zadeklarowane na Form2 zamiast na Form1. Teraz już wszystko działa.
Dziękuje za pomoc.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.