Witam!
Bardzo rposze o odp. na kilka pyt.
ad1) Jak sprawdzić czy forma o okreslonej nazwie istneje
ad2)Jak odwołac sie do jakiegos komponetu na tej formie?
ad3)Jak sprawdzić czy istnieje forma o określonym captionie?Help Z góry tnx [cya]
Nie wiem czy dobrze rozumiem ale...
Gdy chcesz się odwołać do komponentu z innej formy robisz taki numerek:
Masz np: dwie formy jedna to Form1, druga Form2.
Na form1 i form2 masz komponent button i np: Typu TEdit, aby z jednego pobrać tekst do drugiego w OnClick'u buttona wpisujesz
form2.showmodal; //wyswietlenie okna form2
form2.edit2.text := form1.edit1.text; // pole tekstowe edit2 z form2 = pole tekstowe z form1
Domyślam się że chodzi o formularze niemodalne.
Musisz zrobić tak:
...
if not Assigned (Formularz) then // sprawdzasz czy istnieje
Formularz := TFormularz.Create(Application); //jeżeli nie to tworzysz
Formularz.Show; //tak czy inaczej pokazujesz
...
Trzeba pamiętać o oprogramowaniu zdarzenia OnClose:
...
Action:=CaFree;
Formularz:=Nil;
...
Formularz to oczywiście nazwa Twojego formularza.
Radek
var
Nr: integer;
begin
for Nr := 0 to Screen.FormCount -1 do
if Screen.Forms[Nr].Name = 'SZUKANA_NAZWA' then
// znaleziono forme o danej nazwie
end;
Dwa przyklady:
Tak:
Form.Components[Numer_Komponentu].Caption := 'bla bla';
lub tak (zakladajac, ze ten komponent to TButton, bo jesli inny to po prostu zmien TButton na cos innego):
(Form.FindComponent('Nazwa_Komponentu') as TButton).Caption := 'bla bla';
Analogicznie jak w punkcie 1 z ta roznica ze porownujemy wlasciwosc Caption a nie Name.