Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2013, 16:52   #1
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию Ошибка открытия файла. opendialog

Вылетает ошибка при использовании функции
Вот функция открытия файла, точнее получение его пути.
Код:
function TIntro.CheckBD: boolean;
begin
  If FileExists(GetCurrentDir + 'bd.mdb')
  Then Test.ConStr(GetCurrentDir + 'bd.mdb')
  Else
    Begin
      ShowMessage('База вопросов не найдена. Выберите базу.');
      if OpenDB.Execute //диалог открытия
      then Test.ConStr(OpenDB.FileName)
      else ShowMessage('Открытие Базы отменено. Приложение закроется.');
      Application.Terminate;
    End;
End;
А это присвоение полученных результатов в ADOConnection и ADOQuery.
Код:
function TTest.ConStr(cs: string): boolean;
begin
  ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
                                      cs +
                                      ';Persist Security Info=False';
  ADOQuery1.ConnectionString := ADOConnection1.ConnectionString;
  Result := True;
end;
Диалог выбора файла открывается, можно пошариться по папкам, но если выбрать файл и нажать "открыть"/двойной клик вылетает ошибка. Функции находятся в разных формах. в uses первой формы добавлена вторая
Цитата:
First chance exception at $00627398. Exception class $C0000005 with message 'access violation at 0x00627398: read of address 0x000003a0'. Process Project1.exe (2680)

Последний раз редактировалось hemn6vyr; 06.03.2013 в 17:02.
hemn6vyr вне форума Ответить с цитированием
Старый 06.03.2013, 17:08   #2
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Полный исходный код во вложении. XE3
Вложения
Тип файла: zip 111.zip (3.59 Мб, 10 просмотров)
hemn6vyr вне форума Ответить с цитированием
Старый 06.03.2013, 17:17   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

проверка идет в момент создания, когда формы Test еще нет.
Цитата:
Код:
procedure TIntro.FormCreate(Sender: TObject);
begin
  CheckBD;
end;
перенесите проверку в другое событие .OnShow
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 06.03.2013, 17:23   #4
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Благодарю за помощь :-)
hemn6vyr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка открытия mdb файла PoVselennoy Microsoft Office Access 5 14.05.2012 20:57
Ошибка открытия MDB файла повторно artemavd БД в Delphi 2 11.10.2010 17:22
Ошибка открытия файла mutabor Общие вопросы Delphi 7 28.09.2009 18:33
Ошибка открытия файла в Image Лукманов Александр Общие вопросы Delphi 2 18.03.2009 14:16
Ошибка открытия файла Word 2007 Владим Microsoft Office Word 0 07.10.2008 14:22