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?

0

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

Pzodrawiam.

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');

0

a może:

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:

procedure TForm2.Klik(Sender: TObject);

begin
    TMemo(Form2.findcomponent('nazwamemo')).lines.Add('edit.text');
end;
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.

0

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

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