Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизПроблема с INI файлами Найти похожие ветки
← →
Doctor_Y (2004-04-06 12:58) [0]Проблема вот ва чем: при создании ini файла в FormCreate
ini:=TINIFiles.Create("ok.ini");
s:=ini.ReadString("Global","path",""); <- вот сдесь
...
выдается ошибка памяти, и невкакую дальше.
ini файл я создаю и все нормально в другой форме проекта, а этой нет. В чем проблема?
← →
Ozone © (2004-04-06 13:00) [1]ini:=TINIFiles.Create("ok.ini")ж
Здесь нужно указывать полный путь к INI файлу.
← →
Anatoly Podgoretsky © (2004-04-06 13:02) [2]Doctor_Y (06.04.04 12:58)
Так и выдает "ошибка памяти"?
Ozone © (06.04.04 13:00) [1]
Не обязательно и полный путь к файлу не является гарантией!
← →
KapitanSerg © (2004-04-06 13:03) [3]>ini файл я создаю и все нормально в другой форме проекта
1.А ini.Free в этой другой форме ты вызвать не забыл?
2.Проверь пути к ok.ini
3.Проверь тип переменной ini.
А вообще все это оччччень странно!
← →
Ozone © (2004-04-06 13:05) [4]TO Anatoly Podgoretsky ©[2]
Но, как мне кажется, является обязательным условием.
← →
KapitanSerg © (2004-04-06 13:07) [5]>Ozone © (06.04.04 13:05) [4]
По умолчанию ini файл ищется в директории с программой и в <WinDir>.
← →
Anatoly Podgoretsky © (2004-04-06 13:09) [6]Ozone © (06.04.04 13:05) [4]
Предположение неверное, при том можно сказать в корне, например я хочу чтобы файл создавался в месте по умолчанию и ничего не хочу знать про это место.
← →
Ozone © (2004-04-06 13:14) [7]TO KapitanSerg ©[4], Anatoly Podgoretsky ©[5]
По крайней мере, когда у меня ini лежит в корне программы и я питыюсь сделать просто TIniFile("my.ini"), то появляется ошибка...
← →
Ega23 © (2004-04-06 13:16) [8]Anatoly Podgoretsky © (06.04.04 13:09) [6]
Он должен искаться в текущей директории, только почему-то не всегда находится :о)
Я уже давно пишу ini.create(ExtractFilePath(ParamStr(0))+"Ini.ini")
← →
KapitanSerg © (2004-04-06 13:21) [9]>Ozone © (06.04.04 13:14) [7]
В любом случае это будет не ошибка чтения памяти! А вопрос звучал именно так.
← →
Anatoly Podgoretsky © (2004-04-06 13:24) [10]Ozone © (06.04.04 13:14) [7]
У тебя ошибка в программе, нет прав и т.д.
Ega23 © (06.04.04 13:16) [8]
Это тоже не верно, где ищется хорошо документировано в справке и это сильно зависит от системы, могу сказать что для платформы НТ это даже не файл!
← →
Piople © (2004-04-06 13:29) [11]
> Doctor_Y
С кого вообще может выдать ошибку чтония памяти???
А у тя точно S: String?
Ты мож просто не освободил экземпляр данного класса, и при повторном обращении косячит, хотя навряд ли.
А мож у тя в инихе просто нет такого раздела/параметра?
Но вообще причем тут ошибка чтения памяти....
← →
Anatoly Podgoretsky © (2004-04-06 13:40) [12]Наличие раздела/параметра не требуется, если нет, то устанавливается значение по умолчанию.
← →
Ozone © (2004-04-06 13:50) [13]Anatoly Podgoretsky © [12]
Все может быть
← →
Ega23 © (2004-04-06 13:51) [14]Это тоже не верно, где ищется хорошо документировано в справке
procedure TForm1.Button9Click(Sender: TObject);
var
Ini:TIniFile;
begin
Ini:=TIniFile.Create("1.ini");
Ini.WriteString("Section1","Key1","1");
Ini.Free;
end;
Создаёт Инишку в \Windows
← →
Anatoly Podgoretsky © (2004-04-06 13:57) [15]Если заменишь последнею строку на Создаёт Инишку в месте по умолчанию для данной версии операционной системы, то будет правильно и слово создает на слово пытается
Данный код во многих случаях закончится катастрофой.
← →
KapitanSerg © (2004-04-06 14:09) [16]>Anatoly Podgoretsky © [12][15]
>Ega23 © [14]
Господа! Я вообще не вижу предмета дисуссии!
Ворос был о том, что "...выдается ошибка памяти, и невкакую дальше".
← →
panov © (2004-04-06 14:11) [17]Развод. Родина может спать спокойно.
← →
Anatoly Podgoretsky © (2004-04-06 14:14) [18]KapitanSerg © (06.04.04 14:09) [16]
А ты думаешь, что ему нужен ответ? Наивный :-)
← →
Ega23 © (2004-04-06 14:19) [19]Anatoly Podgoretsky © (06.04.04 13:57) [15]
А для чтения и записи порядок поиска разве не одинаков?
← →
panov © (2004-04-06 17:18) [20]Ega23 © (06.04.04 14:19) [19]
А для чтения и записи порядок поиска разве не одинаков
Кроме порядка поиска есть еще система безопасности-)
← →
Anatoly Podgoretsky © (2004-04-06 17:24) [21]Ega23 © (06.04.04 14:19) [19]
Порядок одинаковый, а остольное смотри ответом ниже.
Предложенные варианты в папку Виндоус, в папку с программой можно считать раюотоспособными только частично, в особых условиях. Писать надо в папку пользователся для локальных настроек и документов. Советую ознакомиться со статьей "Как хранить настройки" в Чаво на моем сайте.
И внимательно прочитать справку МС по поводу INI файлов, почему они оставлены и почему это может не работать как задумано.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.059 c