Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с *.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?


Наверх

Титульная страница Поиск, карта сайта Написать письмо