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?
Kazda zakladka TTabSheet ma property Components. Iterujesz po tej liscie i sprawdzasz ktory komponent to Twoje TMemo.
Pzodrawiam.
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');
a może:
TMemo(Form2.FindComponent('moja_nazwa_memo1')).Lines.add('jakis_tekst');
? ;-)
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;
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.
Już sobie poradziłem. Zdarzenie OnClick miałem zadeklarowane na Form2 zamiast na Form1. Teraz już wszystko działa.
Dziękuje za pomoc.