Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 35
1

Ошибка: access violation при работе с ini файлом

06.06.2015, 12:24. Показов 953. Ответов 1
Метки нет (Все метки)

есть 2 формы. на одной форме создаю ini-файл, сохраняю туда логин пароль, а на другой форме для входа требуется ввести логин и пароль, которые сравниваются с логином и паролем из ini, при нажатии кнопки для сравнения появляется ошибка 'Access violation at address 0049803 in module 'Project1.exe'. Read of adress 8BD88B53 '. Статьи читала, пыталась исправить - ничего не помогает. Подскажите, пожалуйста, что за дела такие
Delphi
1
2
3
4
5
6
7
8
9
10
11
var
 ini:TIniFile;
 s: string;
 k: string;
 
begin
k:= ini.ReadString('Login','Login','0');
s:=ini.ReadString('Login','Password','0');
if (k= Edit1.Text) and (s=Edit2.text) then
 form2.Visible:=true;
end;
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2015, 12:24
Ответы с готовыми решениями:

access violation при работе с ini файлом
Здравствуйте. Такой вопрос. Есть 2 формы. Главная и форма с настройками программы. В форму...

Ошибка access violation при работе с паролем
Здравствуйте! Помогите с кодом. Пароль хранится в dll.

Ошибка обращения к памяти при работе цикла (access violation)
Есть нехитрая процедура, которая рассчитываем коэффициенты. procedure TForm1.N6Click(Sender:...

Access Violation при работе потока
var Stream:TStringStream; //поток List1: TStringList; // для загрузки из...

1
13077 / 5862 / 1706
Регистрация: 19.09.2009
Сообщений: 8,807
06.06.2015, 12:49 2
На момент выполнения команды:
Delphi
1
k := ini.ReadString('Login','Login','0');
объект ini не существует. Поэтому и "Access violation". Прежде объект надо создать с помощью вызова конструктора. А когда объект будет не нужен - освободить выделенную для него память, вызвав деструктор. Для надёжности, в особенности, если речь идёт о работе с файлом, следует использовать перехват исключений через try - finally - end или try - except - end.
Пример:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
  Ini: TIniFile;
  s: string;
  k: string;
begin
  //ExtractFilePath(ParamStr(0)) + 'settings.ini' - полный путь файла, лежащего в том же
  //директории, где расположен исполняемый файл программы.
  Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'settings.ini');
  try
    k := Ini.ReadString('Login','Login','0');
    s := Ini.ReadString('Login','Password','0');
    if (k= Edit1.Text) and (s=Edit2.text) then
      form2.Visible := true;
  finally
    FreeAndNil(Ini);
  end;
end;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2015, 12:49

Ошибка при работе с файлом
Собственно при обработке процедуры, появляется ошибка: I/O error 103 Отладчик выделяет шестую...

Постоянно вылетает ошибка при работе с INI файлами в Delphi 7
Не могу работать с INI файлами , постоянно вылетают ошибки , никаких синтаксических ошибок в коде...

Ошибка при работе с файлом, чтение запись
выдает ошибку при работе с файлом F (test.txt) в разделе //Функция расшифровки я дерево, так что...

TList. Ошибка Access Violation при создании.
Имеется такая структура данных: type TMyList = class private FMyList: TList; public...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru