Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.03;
Скачать: CL | DM;

Вниз

Ошибка функции inifiles.readstring - как исправить   Найти похожие ветки 

 
Донской   (2004-09-21 02:18) [0]

Вечер добрый!!!
Представьте себе, пишу на d6 и запускаю ПО под win98. Оно выдает сообщение об ошибке Ошибка доступа к странице памяти в модуле krnl386.exe.
Стал выяснять. Оказалось, что программа вылетает на строке
чтения из ини файла!!!
При этом сам файл существует, не существует только секции, к которой обращается функция. Ведь в этом случае функция должна вернуть значение по-умолчанию, а она приводит к ошибке приложения почему-то...
Вот код.


MyInifile:=tinifile.create(filepathtmp);
  showmessage("filepathtmp= "+filepathtmp);
  try
  with MyInifile do
     begin
        fMain.top:=readinteger("WindowSizes","Top",0);
        showmessage("1");
        fMain.left:=readinteger("WindowSizes","Left",0);
        showmessage("2");
        fMain.Height:=readinteger("WindowSizes","Height",400);
        showmessage("3");
        fMain.width:=readinteger("WindowSizes","Width",700);

        showmessage("4");
        DBPath:=readstring("DB","Path","...");

        showmessage("5");
        M3UDir:=readstring("Properties","M3UDir","...");
        showmessage("6");
        if m3udir="" then m3udir:="...";
        showmessage("7");
        if m3udir[length(m3udir)]<>"\" then
           m3udir:=m3udir+"\";
        showmessage("8");

        LengthErrorMinus:=readinteger("Properties",
              "LengthErrorMinus",0);
        showmessage("9");
        LengthErrorPlus:=readinteger("Properties",
              "LengthErrorPlus",0);
        showmessage("10");
     end;
  finally
     freeandnil(MyInifile);
     showmessage("11");
     deletefile(filepathtmp);
     showmessage("12");
  end;


Я везеде понаставил showmessage для того, чтобы понять где она все-таки вылетает, другого способа не было. И оказалось, что вылетает она после показа сообщения "4" (выделено жирным).
Что делать???? Ума не приложу.
Работаю в d6 с update2.


 
ДОнской   (2004-09-21 02:31) [1]

Во блин.
ЗАменил слово Path на Path1 и все заработало.
Не знаю чем это объяснить.
Вроде ж это всего лишь имя ключа в секции ини файла.
Кто знает?



Страницы: 1 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-1095422491
Tolik
2004-09-17 16:01
2004.10.03
ресурсы в DLL


4-1093381845
WELLiON
2004-08-25 01:10
2004.10.03
Отрубить клаву, мышь и монитор.


1-1095332052
l1gic
2004-09-16 14:54
2004.10.03
Настройка MaskEdit


1-1095154474
webpauk
2004-09-14 13:34
2004.10.03
Parent


6-1090908972
MetalFan
2004-07-27 10:16
2004.10.03
IdTCPClient&amp;IdTCPServer VS ServerSocket&amp;ClientSocket