[решено] tStatFile не сохраняет данные второго окна

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

Ответить
t-ea
новенький
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34

[решено] tStatFile не сохраняет данные второго окна

Сообщение t-ea »

На главной форме находится tStatFile1 и tButton1.
По нажатию на tButton1 показывается вторая форма (SecWnd) у которой statfile = Mainfo.tStatFile1.

1. После закрытия SecWnd в файле status.sta записана информация и о Mainfo, и о SecWnd, но после закрытия программы в status.sta остаётся только [Mainfo].

2. Если перед открытием SecWnd изменить размер Mainfo, например максимизировать окно, то при нажатии на tButton1, размеры Mainfo вернутся в первоначальное состояние.
Последний раз редактировалось t-ea 19.08.2013 15:27:18, всего редактировалось 1 раз.
mse
новенький
Сообщения: 68
Зарегистрирован: 08.08.2013 15:40:31

Сообщение mse »

If the second form will not be destroyed before program end disable <secondwindow>.options fo_autoreadstat and fo_autowritestat, create the second form before the main form:

Код: Выделить всё

 application.createform(tsecondform,secondform);
 application.createform(tmainfo,mainfo);
 application.run;


If the second form will be created and destroyed in program lifetime use an additional tstatfile for the second form, activate <secondstatfile>.options sfo_memory, set <secondstatfile>.filename to 'second.sta'. <secondstatfile> now loads and stores from/to an independent internal MSEgui named memory stream (see tmemorystreams in lib/common/kernel/msestat.pas).
In order to save memory files of additional tstatfile's in the main statfile set <mainstatfile>.savedmemoryfiles to '*.sta'.
The main form must exist before creating the additional forms:

Код: Выделить всё

 application.createform(tmainfo,mainfo);
 application.createform(tsecondform,secondform);
 application.run;

For big applications it is recommended to use a data module for globally used components instead to place them in the main form.
Ответить