SaveToFile i LoadFromFile

0
 ListBox1.Items.SaveToFile('Temp\TForm9FormCreate.txt');
 IF not Assigned(Form13) then Form13:=TForm13.Create(Form8);
 Form13.Memo1.Lines.Clear;
 Form13.Memo1.Lines.LoadFromFile('Temp\TForm9FormCreate.txt');
 Form13.Show;

Dlaczego nie działa?
Form9 tworzy plik zpisuje na dysku i edytuje.
Form13 daje możliwość podglądu przed wydrukiem i drukowania.
Dane do Form13 nie są wczytywane.

0

Może to się dzieje za szybko?
Form13 tworzona jest dynamicznie, po czym kilka linijek dalej odwołujesz się do jej komponentu. Możliwe, że w tym czasie komponent jeszcze nie istnieje. Tworzenie formy jest nowym wątkiem, ktorego wykonanie zajmuje jakiś czas.
Też kiedyś nakombinowałem się z kodem który wyglądał normalnie i okazało się ze winne było zbyt wczesne odwołanie.

0

<font color="green">Form13.Memo1.Lines.Clear;
Form13.Memo1.Lines.LoadFromFile('Temp\TForm9FormCreate.txt');</span>

A nie można dać tego do OnShow Form13?

0

Dzięki .. zadziało.

0

+++++++
Może to się dzieje za szybko?
Form13 tworzona jest dynamicznie, po czym kilka linijek dalej odwołujesz się do jej komponentu. Możliwe, że w tym czasie komponent jeszcze nie istnieje. Tworzenie formy jest nowym wątkiem, ktorego wykonanie zajmuje jakiś czas.
Też kiedyś nakombinowałem się z kodem który wyglądał normalnie i okazało się ze winne było zbyt wczesne odwołanie.
+++++++++
Z tym bym sie niezgodzil w delphi jak jest cos robione to on 1 rzecz robi naewt pol ogdziny ale niezaczyna nastepnej

:)

0

+++++++
Może to się dzieje za szybko?
Form13 tworzona jest dynamicznie, po czym kilka linijek dalej odwołujesz się do jej komponentu. Możliwe, że w tym czasie komponent jeszcze nie istnieje. Tworzenie formy jest nowym wątkiem, ktorego wykonanie zajmuje jakiś czas.
Też kiedyś nakombinowałem się z kodem który wyglądał normalnie i okazało się ze winne było zbyt wczesne odwołanie.
+++++++++
Z tym bym sie niezgodzil w delphi jak jest cos robione to on 1 rzecz robi naewt pol ogdziny ale niezaczyna nastepnej

:)

Hehe, to napisz sobie taki fragmencik i zobacz jak to jest. Z resztą możesz też to wywnioskowac z rozwiązania problemu.
Tu się nie ma z czym zgadzać, tu trzeba przyjąć do wiadomości stan faktyczny :p

0

Wydaje mi się, że Anonim nie bardzo wie, co to jest wątek... Rzeczywiście Delphi nie robi dwóch rzeczy naraz, jeśli są wykonywane w ramach jednego wątku. Tutaj jednak, tak jak napisał przedmówca (a właściwie przedpiszca ;p) tworzenie formy odbywa się w osobnym wątku... Wtedy takie reguły nie obowiązują, gdyż każda z tych rzeczy jest wykonywana całkowicie niezależnie.

0

<font color="blue">Wydaje mi się, że Anonim nie bardzo wie, co to jest wątek... Rzeczywiście Delphi nie robi dwóch rzeczy naraz, jeśli są wykonywane w ramach jednego wątku. Tutaj jednak, tak jak napisał przedmówca (a właściwie przedpiszca ) tworzenie formy odbywa się w osobnym wątku... Wtedy takie reguły nie obowiązują, gdyż każda z tych rzeczy jest wykonywana całkowicie niezależnie.</span>

Mała uwaga: ale odwołania w innym wątku mogą być do jeszcze nie stworzonych komponentów w innym...

0

Inny ciekawy przykład to było

 Application.Terminate;
 ShowMessage('Tego już nie powinieneś zobaczyć ;P');

message oczywiscie (?!) sie pokazywał ;)

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