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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
4-1174320505
Serega41
2007-03-19 19:08
2007.09.09
Как узнать открыто ли было устройство?


6-1168890768
vasia222
2007-01-15 22:52
2007.09.09
Компрессор трафика! подскажите


2-1187073587
kolj
2007-08-14 10:39
2007.09.09
Как убрать програму с панели пуск ?


15-1187172270
vajo
2007-08-15 14:04
2007.09.09
Почему то виндовс стала английской


2-1187084180
DagOT-R
2007-08-14 13:36
2007.09.09
Таймер - WTF??? Помогите разобраться с проблемой: