Вниз
Скачать: CL | DM;

INI + Form   Найти похожие ветки 

← →
form1   (2007-02-19 14:27) [0]

Привет всем! У мну такая проблема: Есть 3 формы, состояние (видима/невидима) записывается в INI файл, а при загрузке эти 2 формы считывают своё состояния, но всёравно остаются невидимыми, даже если параметры установлены, что они видимы.


← →
Джо ©   (2007-02-19 14:34) [1]

наверное, ты неправильно это делаешь.


← →
RASkov   (2007-02-19 15:34) [2]

> [0] form1   (19.02.07 14:27)

Покажи тот момент, где ты читаешь параметры из ини, и скажи в каком месте, какой формы это(чтение) происходит.


← →
DVM ©   (2007-02-19 15:52) [3]


> Покажи тот момент, где ты читаешь параметры из ини, и скажи
> в каком месте, какой формы это(чтение) происходит.

в OnShow :)


← →
Belorus ©   (2007-02-20 17:30) [4]

У нас использование TTelepat платное. Так что form1 или раскошеливайся, или приводи весь код.


← →
form1   (2007-02-21 14:49) [5]

Вот код из 3 формы:

procedure TForm3.FormCreate(Sender: TObject);
var ini:TIniFile;
     a: boolean;
begin
ini:=TINIFile.Create("C;\test.ini");
a:=ini.ReadBool("Main","Test",false);
if a=true then
begin
Form3.Visible:=true;
//Form3.Show;
end
else
begin
Form3.Visible:=false;
//Form3.Hide;
end;
ini.Free;
end;

procedure TForm3.FormDestroy(Sender: TObject);
var ini:TIniFile;
begin
ini:=TINIFile.Create("C;\test.ini");
ini.WriteBool("Main","Test",Form3.Visible);
ini.free;
end;


аналогично во второй форме.


← →
fd979 ©   (2007-02-21 15:02) [6]

FormStyle на что установлен?


← →
Джо ©   (2007-02-21 15:02) [7]

А зачем создавать форму, если она не будет показана? Читай значение из ини, если там False, просто не создавай форму.

И еще недочеты в коде:
1. Вместо "if a=true then" пишут просто "if a then"
2. Используй try..finally при работе с TIniFile
3. Не используй обращение к глоб. переменной, т.е., в методе класса пиши так: "ini.WriteBool("Main","Test",Visible)".


← →
RASkov   (2007-02-21 18:56) [8]

> Читай значение из ини, если там False, просто не создавай
> форму.


> [5] form1   (21.02.07 14:49)

И сделай это где-нибудь в одном месте для всех форм... например на OnCreate главной формы.
В свойствах проекта выкинь из AutoCreateForm все кроме главной.


← →
Belorus ©   (2007-02-22 22:21) [9]

if a=true then
begin
Form3.Visible:=true;
//Form3.Show;
end
else
begin
Form3.Visible:=false;
//Form3.Hide;
end;


Это заменяется на
Form3.Visible:=a;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.032 c
3-1166595725
Ega23
2006-12-20 09:22
2007.03.18
Добавить Calculated-поле в ран-тайм


2-1172006483
Comp
2007-02-21 00:21
2007.03.18
Маленький простой вопрос - прокрутка формы


3-1166908987
ndg
2006-12-24 00:23
2007.03.18
Создание альяса ODBC программно


15-1171886128
DrDe
2007-02-19 14:55
2007.03.18
Каким Диалектом в FireBird вы пользуетесь?


15-1171987815
Andy BitOff
2007-02-20 19:10
2007.03.18
Вот вам последствия прецедента




   Наверх