Dynamiczne tworzenie form

0

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]

0

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

0

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

0

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.

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