Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];

Вниз

Работа с *.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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
3-1178991672
TheEd
2007-05-12 21:41
2007.09.09
Как получить Description для полей (IB7.0, D7, FIBPlus)?


15-1186810759
Cyrax
2007-08-11 09:39
2007.09.09
MySQL5: выполнение произвольного числа запросов без процедур...


2-1187091294
gentos
2007-08-14 15:34
2007.09.09
oraclequery.prior - error какой-то детский


6-1168369775
fuzzylogic
2007-01-09 22:09
2007.09.09
Как создать исключение для стандартного брандмауэра?


2-1186748332
Rumin
2007-08-10 16:18
2007.09.09
Miranda





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский