![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с *.ini [D7, XP]
nord489 © (2007-08-14 21:07:00)Здравствуйте. Написал следующий код:
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."
Подскажите, пожалуйста, в чем проблема!?
nord489 (2007-08-14 22:11:00) [1]Юрий Зотов и sniknik большое спасибо! Ошибку понял! Все работает!
sniknik (2007-08-14 21:27:00) [2]> в чем проблема!?
при создании первой формы вторая ещене существует, а у тебя к ней обращение в событии создания. также при уничтожении 3-й вторая может быть ужеуничтожена, а у тебя там опять обращение.
старайся вообще не ссылаться из одной формы на другие, неважно из какого события...
имхо, лучше бы сделать отдельный модуль без форм для хранения настроечных переменных, а не вот так как ты напрямую писать.
Юрий Зотов (2007-08-14 21:22:00) [3]Form2 может быть:
- уже уничтожена при сохранении цвета;
- еще не создана при чтении цвета.
Точнее подскажет дебаггер. Но почему бы не прописать эти же действия в обработчиках TForm2, а не TForm1?