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

Работа с *.ini   Найти похожие ветки 

 
nord489   (2007-08-14 21:07) [0]

Здравствуйте. Написал следующий код:

procedure TForm3.FormDestroy(Sender: TObject);
var
nastroiki: Tinifile;
begin
nastroiki:=TiniFile.Create("C:\...\Nastroiki.ini");
nastroiki.WriteInteger("Color Akliv Letter","Color Label", Form2.Label1.Color);
nastroiki.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
nastroiki: Tinifile;
begin
nastroiki:=TiniFile.Create("C:\...\Nastroiki.ini");
Form2.Label1.Color:=nastroiki.ReadInteger("Color Akliv Letter","Color Label",255);
nastroiki.Free;
end;

В uses есть Inifiles.

При запуске выдает ошибку: "Access violation at address 00466A8C in module "Projectl.exe". Read of address 000002FC."

Подскажите, пожалуйста, в чем проблема!?


 
Юрий Зотов ©   (2007-08-14 21:22) [1]

Form2 может быть:
- уже уничтожена при сохранении цвета;
- еще не создана при чтении цвета.

Точнее подскажет дебаггер. Но почему бы не прописать эти же действия в обработчиках TForm2, а не TForm1?


 
sniknik ©   (2007-08-14 21:27) [2]

> в чем проблема!?
при создании первой формы вторая еще не существует, а у тебя к ней обращение в событии создания. также при уничтожении 3-й вторая может быть уже уничтожена, а у тебя там опять обращение.

старайся вообще не ссылаться из одной формы на другие, неважно из какого события...
имхо, лучше бы сделать отдельный модуль без форм для хранения настроечных переменных, а не вот так как ты напрямую писать.


 
nord489   (2007-08-14 22:11) [3]

Юрий Зотов и sniknik большое спасибо! Ошибку понял! Все работает!



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

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



Память: 0.45 MB
Время: 0.019 c
2-1187067945
term77
2007-08-14 09:05
2007.09.09
ADOCommand, Acess


15-1186563874
Суслик
2007-08-08 13:04
2007.09.09
Посоветуйте компонент - сохранение desktop а


15-1187082983
iXT
2007-08-14 13:16
2007.09.09
Free Server OS


11-1169360395
Mabia
2007-01-21 09:19
2007.09.09
Ошибка компиляции пакета


2-1187338212
Poroshm
2007-08-17 12:10
2007.09.09
Работа с окнами




   Наверх