Błąd przypisania danych zmiennej do komponentu innej formatki

0

W zdarzeniu OnCreate Form1 ładowany mam plik konfiguracyjny INI, kolejne dane przypisywane są odpowiednio do poszczególnych zmiennych w programie.
Jak na razie wiem, nie idzie wywołać w procedurze OnCreate jednej formatki, procedur odnoszących się do innych formatek, ale chciałbym to jakoś obejść. Mianowicie, chcę aby wartość jednej ze zmiennych automatycznie przypisywała się do zmiennej komponentu Edit.Text formatki 2. Wiem że mógłbym zrobić to przy wywoływaniu danej formatki, ale jest to zmienna tymczasowa dla danego zdarzenia OnClick, nie będę jej umieszczał w programie jako publicznej bo jest mi później już zbędna.
Tak więc co mógłbym zrobić w tym przypadku ?

0

A co za problem przenieść kod do OnShow? Ale jeżeli koniecznie upierasz się nad tym by odnosić się do czegoś w OnCreate co jeszcze tam nie istnieje, to stwórz to wcześniej przez konstruktor danego komponentu lub formatki (która również jest komponentem oczywiście). O ile w ogóle zrozumiałem ten problem. Jeżeli nie to ktoś inny może coś lepszego wymyśli.

0
chkam napisał(a):

W zdarzeniu OnCreate Form1 ładowany mam plik konfiguracyjny INI, kolejne dane przypisywane są odpowiednio do poszczególnych zmiennych w programie.
Jak na razie wiem, nie idzie wywołać w procedurze OnCreate jednej formatki, procedur odnoszących się do innych formatek, ale chciałbym to jakoś obejść. Mianowicie, chcę aby wartość jednej ze zmiennych automatycznie przypisywała się do zmiennej komponentu Edit.Text formatki 2. Wiem że mógłbym zrobić to przy wywoływaniu danej formatki, ale jest to zmienna tymczasowa dla danego zdarzenia OnClick, nie będę jej umieszczał w programie jako publicznej bo jest mi później już zbędna.
Tak więc co mógłbym zrobić w tym przypadku ?

Sprawdź kolejność tworzenia form w projekcie.

0

Z otwieraniem dodatkowych form podczas startu programu trzeba uważać. Główne okno musi pokazać się jako pierwsze. Jeśli w jego konstruktorze albo jakimś zdarzeniu otworzysz inne okno przed rzeczywistym otwarciem głównego system może zacząć traktować jako główne właśnie to pierwsze pokazane – i program się kaszani.

0
Azarien napisał(a):

Z otwieraniem dodatkowych form podczas startu programu trzeba uważać. Główne okno musi pokazać się jako pierwsze. Jeśli w jego konstruktorze albo jakimś zdarzeniu otworzysz inne okno przed rzeczywistym otwarciem głównego system może zacząć traktować jako główne właśnie to pierwsze pokazane – i program się kaszani.

Wolnego, to by powodowało niemożność utworzenia splash-a :) Przemyśl to jeszcze raz :]

0

OnShow nie jest najlepszym miejscem na taki kod ponieważ może być wywoływane wielokrotnie w trakcie działania programu (np. jeżeli program zostanie schowany do traya a później pokazany). Natomiast taki kod można umieścić po utworzeniu wszystkich Forma a przed wywołaniem Application.Run.
W Delphi głównym oknem programu jest zawsze okno które zostało utworzone przy pierwszym wywołaniu metody CreateForm obiektu Application.

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