Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Вниз

проблема в с записью в ini в ХР   Найти похожие ветки 

 
TankMan   (2003-02-07 21:17) [0]

Люди не пойму... в чем прикол... вобщем в ХР, создаю объект типа inifile-a он вроде как бы создается... проверяю его даже на nil, потом пытаюсь записать writestring-ом название одно... так он говорит Violation access :( не пойму в чем прикол...


 
Palladin   (2003-02-07 21:20) [1]

магическая 17тая строка... ищи ошибку там...


 
Ich Hasse   (2003-02-07 22:46) [2]

Ini:= TIniFile.Create("C:\hello.ini");

Ini.Free;

Проверенно работает и в XP


 
TankMan   (2003-02-08 13:04) [3]

Что за 17ая строка? где чего искать?

>>Ich Hasse
именно этим способом я и создаю ини... а вот при записи он выдает ошибку :(

clientini:=Tinifile.Create(Extractfilepath(application.exename)+configini);
if clientini<>nil then begin
clientini.ReadSection("Tabs",S);
for i:=0 to S.Count-1 do
clientini.EraseSection(S[i]);
clientini.EraseSection("Tabs");
S.Clear;
for i:=0 to TabsName.Count-1 do begin
clientini.WriteString("Tabs",TabsName[i].TabName,"");
if TabsName[i].GameName.Count>0 then begin
for j:=0 to TabsName[i].GameName.Count-1 do
clientini.WriteString(TabsName[i].TabName,TabsName[i].GameName[j],TabsName[i].GamePath[j]+","+TabsName[i].GameIconIndex[j]);
end
else
begin
if not clientini.SectionExists(TabsName[i].TabName) then
clientini.WriteString(TabsName[i].TabName,"",""); <<===Вобщем сдесь и вылетает ошибка...
end;
end;
bapply:=false;
btnApply.Enabled:=false;
frmMain.CreatePCGames(TabsName,frmMain.PCGames,self);
end;
end;
Коментарии вобщем сдесь излишни.. много прийдется описывать... но в общем структура использования ini тут ясна ИМХО...


 
Palladin   (2003-02-08 13:14) [4]

вообще то кода от тебя в начале и трабовали
невозможно с ходу так сказать.
1. почему ты думаешь что если обхект TIniFile не создастся, то clientini будет Nil? ведь ты его перед созданием в nil не выставляешь.

2. почему ты решил что дело именно в WriteString? дело скорее всего в обращении к записываемым данным.


 
Романов Р.В.   (2003-02-08 13:20) [5]


> clientini.WriteString(TabsName[i].TabName, "","");

Очень подозрительные параметры


 
Anatoly Podgoretsky   (2003-02-08 13:44) [6]

TankMan © (08.02.03 13:04)
И где защита от ошибок, и где информация о S, TabsName - что такое, создано ли

"Коментарии вобщем сдесь излишни" :-) вообще то да.


 
Builder   (2003-02-08 22:44) [7]

А в ХР с ини файлами еще есть проблема в том, что каталог должен был бы быть открыт для записи, чего не всегда бывает :(
(типичный пример - ини в каталоге программы, он в Program Files, программа установлена под админом, а пользуеться обграниченный пользователь)
Так что лучше как рекомендует М$ - в реестр.


 
TankMan   (2003-02-08 23:20) [8]

>>Palladin
1.Ну не знаю откуда я это взял... просто когда определяется тип данных какой-то переменной, и эта переменная никак не определена, то это значит, что она ссылается на nil. а если что-то всетаки ей присвоили... то значит ошибки небыло... хотя... я не уверен...вовсяком случае.. данный код работает в 98 без проблем...
2. Ну я не говорил, что ошибка именно в WriteString, я имею ввиду, что возникают проблемы при использовании его, т.е. записиси в ини...

>>Романов Р.В.
Да нормальные параметры... просто мне нужно создать запись в ини...в TabsName[i].TabName храниться название закладки одной... и мне нужно только ее название без каких либо параметров.. вовсяком случае на данном этапе разработки...

>>Anatoly Podgoretsky
А можно по конкретнее.. какую именно защиту вы советуете мне тут устроить? S и TabsName насколько я помню... модифицированные мной (чуть-чуть модифицированные) TStringlist... вот..

>>Builder
А как его открывать? Вовсяком случае я захожу в винды под root и никаких обычных пользователей...
А на счет реестра... это не для меня... мне потом эти ини шифровать... а в реестре хранить не надежно...


 
Романов Р.В.   (2003-02-08 23:43) [9]


> Да нормальные параметры

В том то и дело что не нормальные имя секции и ключа не должно быть пустым. Отсюда и ошибка.



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

Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
1-52870
anbezr
2003-02-07 18:26
2003.02.17
Надо ли очищать Canvas


3-52716
DenKop
2003-01-28 14:41
2003.02.17
BDE и XP


1-53053
guest
2003-02-06 11:27
2003.02.17
Как правильно проверить наличие только цифр в строке?


3-52775
Gaber
2003-01-30 19:22
2003.02.17
IB компоненты


3-52788
S
2003-01-31 14:31
2003.02.17
Тупой вопрос!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский