Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1171888914
Desdechado
2007-02-19 15:41
2007.03.18
Заголовок журнальной статьи


15-1171987658
Vendict
2007-02-20 19:07
2007.03.18
Проблемы с ICQ


3-1166681949
svt
2006-12-21 09:19
2007.03.18
Уважаемые мастера, подскажите как перегнать данные из FireBird


8-1143985906
race1
2006-04-02 17:51
2007.03.18
WAV + WAV


5-1149955795
Alextp
2006-06-10 20:09
2007.03.18
Мерцание при обработке Resize





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский