|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
07.01.2012, 15:14 | #1 |
Форумчанин
Регистрация: 28.09.2010
Сообщений: 246
|
access violation при работе с ini файлами
Здравствуйте. Такой вопрос.
Есть 2 формы.Главная и форма с настройками программы. В форму настройки вводится код, который будет сохранен в ини файле (ну и другие настройки). Пишу такой код: procedure TForm1.FormCreate(Sender: TObject); begin ini:=Tinifile.Create(PChar(ExtractF ilePath(Application.ExeName))+'\'+' Config.ini'); // создается INI-файл с настройками в папке программы // загружаем настройки с INI-файла Form2.Edit1.Text := ini.ReadString('Code','useCode','0' ); end; На этапе Form2.Edit1.Text := ini.ReadString('Code','useCode','0' ); Вылетает access violation Попробовал сделать так: Кинул на первую форму Edit1 и сделал такой код procedure TForm1.FormCreate(Sender: TObject); begin ini:=Tinifile.Create(PChar(ExtractF ilePath(Application.ExeName))+'\'+' Config.ini'); // создается INI-файл с настройками в папке программы // загружаем настройки с INI-файла Edit1.Text := ini.ReadString('Code','useCode','0' ); end; Так все работает. Тоесть проблема возникает при считывании из второй формы. Что не так не пойму. помогите пожалуйста новичку.
Смотреть фильмы HD Фильмы для планшетов
|
07.01.2012, 15:25 | #2 | |
Форумчанин
Регистрация: 23.08.2011
Сообщений: 171
|
Цитата:
Код:
(1)Я StringList (2)И еще одна строка' Код:
Если я вопрос не правильно понел, извините.
Каждый день узнаю новое...
Последний раз редактировалось Anton911; 07.01.2012 в 15:28. |
|
07.01.2012, 15:29 | #3 |
Форумчанин
Регистрация: 28.09.2010
Сообщений: 246
|
Проблема не в том используя я StringList или Edit, а в том что INI не воспринимает вторую форму при считывании данных с ИНИ файла. Мне нужно понять почему возникает access violation.
Ведь если на главную форму кинуть Edit, то никаких проблем и ошибок не возникает. А при работе с Формой 2 возникает ошибка
Смотреть фильмы HD Фильмы для планшетов
|
07.01.2012, 15:34 | #4 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Перенести код чтения настроек в другой метод: 1 вар. Form2.OnCreate (рекомендуется) Дочерние формы имеют право знать особенность (ОДНУ и ту же) главной (наличие Ini). А вот главной помнить ВСЕ особенности ВСЕХ дочерних очень тяжело (легко забыть -допустить ошибку). 2 вар. form1.OnShow (возможный вариант)
программа — запись алгоритма на языке понятном транслятору
|
|
07.01.2012, 15:35 | #5 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
В обработчике создания первой формы есть ссылка на вторую форму, которая ещё не создавалась и, соответственно, обращение к неё и её компонентам обязательно вызовет ошибку (Form2.Edit1)
|
07.01.2012, 15:51 | #6 |
Форумчанин
Регистрация: 28.09.2010
Сообщений: 246
|
Спасибо. Разобрался.
Смотреть фильмы HD Фильмы для планшетов
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Access Violation при .Create.BitMap | YaMolekula | Общие вопросы Delphi | 1 | 28.05.2011 13:42 |
Access violation при выполнении | Bernarditto | C++ Builder | 5 | 04.11.2010 14:25 |
Access violation at address при использовании DLL | spamer | Общие вопросы Delphi | 4 | 27.08.2009 22:19 |
Проблема при работе с ini | dolphin705 | Общие вопросы Delphi | 4 | 12.08.2009 20:59 |
access violation при создании обьекта | goog | Общие вопросы Delphi | 12 | 11.01.2009 20:33 |