Главная страница
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.044 c
4-1093568383
Yurik
2004-08-27 04:59
2004.10.03
Вставка скопированного или вырезанного в буфер обмена файла


3-1094508546
DDD
2004-09-07 02:09
2004.10.03
HELP SQL


6-1090498953
diMAN
2004-07-22 16:22
2004.10.03
Многочисленные Arp-запросы


6-1090492324
Duk
2004-07-22 14:32
2004.10.03
Как с п-ю TMemoryStream переслать текст от ServerSocket к ClienSo


3-1094623708
Junior
2004-09-08 10:08
2004.10.03
AutoInc в таблице Paradox