Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.18;
Скачать: 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 вся ветка

Текущий архив: 2007.03.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
15-1172238460
chvank
2007-02-23 16:47
2007.03.18
Геометрию изменил, гад, что делать?


4-1162781388
Коля
2006-11-06 05:49
2007.03.18
SendTo в PopupMenu?


15-1171745687
Cyrax
2007-02-17 23:54
2007.03.18
Есть ли проги для создания файла (физически в несколько байт)...


1-1169547324
OnixLab
2007-01-23 13:15
2007.03.18
TComboBox


3-1167132492
Руслан56
2006-12-26 14:28
2007.03.18
Как мою программу зделать установочной ???