Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
tdo22
12 / 12 / 13
Регистрация: 14.02.2013
Сообщений: 755
1

Проверка на существование .ini в событие создания формы

27.06.2013, 22:37. Просмотров 678. Ответов 6
Метки нет (Все метки)

Привет, уже не знаю что делать...
В событие создания главной формы пишу проверку на существования config.ini файла,
ели он есть, программа запускается, если нет в диалоговом сообщение предлагается его создать, код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure TFournisseurs.FormCreate(Sender: TObject);
  var
    rezult : TModalResult;
    Ini: Tinifile;
begin
  if
    FileExists('config.ini')=false
    then
      begin
        rezult := MessageDlg('Предупреждение: нету файла конфигурации, создать?',mtError, mbOKCancel, 0);
          if
            rezult = mrOK
          then
            begin
              Ini:=TiniFile.Create(extractfilepath(paramstr(0))+'config.ini');
              Ini.WriteBool('Options','Exit',Form1.chk1.checked=True);
              Ini.WriteBool('Options','User',form1.rb2.Checked=True);
              ShowMessage('Конфигурационный файл создан');
            end;
          if
            rezult = mrCancel
              then
                begin
                  ShowMessage('Программа будет закрыта');
                  Application.Terminate;
                end;
    end;
end;
Если нажать Yes, чтоб создать файл, выдает ошибку, но программу запустит не создав файла
Код
First chance exception at $006AB3D8. Exception class $C0000005 with message 'access violation at 0x006ab3d8: read of address 0x000003ac'. Process Proga.exe (4248)
я так понимаю, это из за того что главная форма еще не создана, как с этим бороться ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2013, 22:37
Ответы с готовыми решениями:

Проверка на существование .ini файла
Как можно проверить существует ли в папке .ini файл с определенным именем?

Проверка формы на существование
подскажите пожалуйста. нужно из одной формы проверить существует ли (загружена ли) другая форма.

Проверка на существование
есть таблица Client со столбцами (Name,LastName,MobilePhoneNumber,Email) и нужно проверить на...

Проверка на существование
Есть один txt-файл. В нем построчно написаны файлы и их вес в байтах. Пример: files.rar 12345678...

Проверка на существование файла
Имеются файлы типа index.jsp и 404.jsp в папке pathPagesFolder Проверка (код ниже) на...

6
NT SERVICE
117 / 117 / 39
Регистрация: 27.01.2013
Сообщений: 471
27.06.2013, 22:56 2
А, так не легче?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    if not FileExists('Config.ini') then
    begin
      case MessageBox(Handle, 'Файл конфигурации не обнаружен, создать?',
        PChar(Caption), MB_YESNO + MB_ICONWARNING) of
        IDYES:
          begin
            // Тут пиши в ini, что только вздумаешь
            ShowMessage('Конфигурационный файл создан');
          end;
        IDNO:
          begin
              ShowMessage('Программа будет закрыта');
             Application.Terminate;
          end;
      end;
 
    end;
1
Mawrat
12857 / 5761 / 1701
Регистрация: 19.09.2009
Сообщений: 8,807
27.06.2013, 23:11 3
Цитата Сообщение от tdo22 Посмотреть сообщение
Если нажать Yes
Такой кнопки в представленном диалоге не может быть. Там должно быть 2 кнопки - ОК и Cancel.
Этот код должен работать без ошибок. Не смотря на то, что архитектура там неверная. Видимо есть ещё какие-то причины, приводящие к ошибкам. Судя по тексту ошибки, имеется проблема с созданием каких-то объектов.

Добавлено через 1 минуту
Вот, кстати, @NT SERVICE, привёл пример с MessageBox(). - Я тоже предпочитаю пользоваться этой функцией.
1
tdo22
12 / 12 / 13
Регистрация: 14.02.2013
Сообщений: 755
27.06.2013, 23:28  [ТС] 4
Спасибо @NT SERVICE за пример
я только не давно начал изучать Delphi.
Решил проблему тем, что записал весь код в события FormActivate, и теперь все нормально работает,
никаких ошибок и файл создает, еще раз спасибо!
0
NT SERVICE
117 / 117 / 39
Регистрация: 27.01.2013
Сообщений: 471
27.06.2013, 23:30 5
Цитата Сообщение от tdo22 Посмотреть сообщение
записал весь код в события FormActivate
В FormCreate, то-же хорошо работает.
0
angstrom
2472 / 1848 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
27.06.2013, 23:33 6
Только непонятно, зачем спрашивать о создании ini-файла? Есть - считали данные, нет - создали файл и выставили параметры по-умолчанию.
0
tdo22
12 / 12 / 13
Регистрация: 14.02.2013
Сообщений: 755
28.06.2013, 00:05  [ТС] 7
Цитата Сообщение от angstrom Посмотреть сообщение
Только непонятно, зачем спрашивать о создании ini-файла? Есть - считали данные, нет - создали файл и выставили параметры по-умолчанию.
так попросили сделать

Добавлено через 26 секунд
Цитата Сообщение от NT SERVICE Посмотреть сообщение
В FormCreate, то-же хорошо работает.
на чистом проекте да, а у меня что-то не хочет, даже хз в чем причина
0
28.06.2013, 00:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2013, 00:05

Проверка записи на существование в БД
Перед добавлением новой записи в БД, осуществляю проверку на ее существавание в БД. Например при...

Проверка на существование файла
Программа проверяет существует ли данный файл в текущем каталоге. using System; using...

Проверка каталога на существование
Всем привет. Знаю, что есть такая функция DirectoryExists, но что-то работает не так. Пытаюсь...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru