czas włączania programu

0

Otóż mój program ma już dość dużą ilość form, i podczas włączania programu są one wszystkie tworzone... niestety wydłuża to i to jak czas włączania programu. Później, żeby uaktywnić jakąś formę daje ShowModal. W jaki sposób zrobić, aby formy były tworzone podczas ich uruchamiania, a nie podczas uruchamiania programu, bo trwa to zbyt długo. Tworzenie dynamiczne odpada.. mam tam zbyt skomplikowane ułożenie komponentów. W jaki sposób to rozwiązać... ?

0

Ulozenie komponentow nie zmieni sie jesli utworzysz forme dynamicznie.

Zobacz. Usun

Application.CreateForm(TFormX, FormX);

z glownego pliku projektu i w procedurce wywolujacej okno zrob tak:

procedure TForm1.ButtonXClick(Sender : TObject);
var
Okienko : TFormX;
begin
Okienko := TFormX.Create(Application);
Okienko.ShowModal;
Okienko.Free;
end;

gwarantuje ze bedzie dzialac, bo sam tego uzywam.

0

ikari. To o czym piszesz, nazywa się właśnie dynamicznym tworzeniem form !!

0

Ale wczesniej musisz wejsc w PROJECT--->OPTIONS i tam w zakladce Forms masz 2 pola jedno Auto-Create Form a drugie available form.Te formy co maja sie otwierac dopiero po wywolaniu musisz przesunac do available form,a przy ich wywoływaniu uzyc procedurki jaka podal ci ikari.
Chyba to zrozumiale opisalem?:) [cya]

0

<font color="red">Jack</span>: wiem, ze to jest tworzenie dynamiczne, ale on je skreślał ze względu na ułożenie komponentów. A ono sie ładnie przecież odbudowuje o ile korzystamy z Create (a nie CreateNew), więc nie ma z tym problemu. Forma działa tak samo jak stworzona podczas uruchamiania programu!

0

Oczywiście że kod Ikari jest dobry sam takiego używam przcież taka forma zachowuje się tak samo jak stworzona razem z prgramem.
PS w CreateForm wpisz raczej Self

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