Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c