Вниз
Скачать: 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.018 c
2-1187385694
Swest
2007-08-18 01:21
2007.09.09
строка


2-1187373659
FireSonic
2007-08-17 22:00
2007.09.09
Каким образом возможно это сделать?


2-1187255588
vitv
2007-08-16 13:13
2007.09.09
RxSysTray-проблема


15-1186990172
БарЛог
2007-08-13 11:29
2007.09.09
Чем запитать CIsco 1601?


15-1186679676
TUser
2007-08-09 21:14
2007.09.09
Сообщу-ка я




   Наверх