Главная страница
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.046 c
1-1095349852
старый маразматик
2004-09-16 19:50
2004.10.03
регистрация компонент.


1-1095283565
KilkennyCat
2004-09-16 01:26
2004.10.03
интерфейс как у Delphi.


14-1095161073
X9
2004-09-14 15:24
2004.10.03
Покупать или нет? MSND .Net 3 CD


1-1095522098
appendix
2004-09-18 19:41
2004.10.03
saveDialog OpenDialog


3-1094112903
dumitru
2004-09-02 12:15
2004.10.03
bde -> ado