Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Oshibka pri chtenij registra !!! [D7, WinXP]


andreart.net ©   (2006-03-05 23:00:00) 

jest funkcija katoraja obrashajetsa k registru.
kogda pozlovatel admin, to problem netu, no tolko psotavil pozovatela limited v XP, to programka na if TheReg.OpenKey(KeyName, True) vivodit ochubku i nehochet chitat registr. POCHEMU ???

function readreg(keyname,str1: string):string;
var
TheReg: TRegistry;
begin
try
TheReg := TRegistry.Create;
try
TheReg.RootKey := HKEY_LOCAL_MACHINE;
thereg.CreateKey(keyname);

if TheReg.OpenKey(KeyName, True) then
begin
result:=TheReg.ReadString(str1);
TheReg.CloseKey;
end;
finally
TheReg.Free;
end;
except end;
end;


andreart.net   (2006-03-05 23:37:00) [1]

thx... vsjo poluchilos, ubral straku thereg.CreateKey(keyname);

SPASIBO !


andreart.net   (2006-03-05 23:23:00) [2]

a pochemu pri ispolzovanij OpenKeyReadOnly tozhesamije ? :/
u menja tam programka imejet parametri katorije nado schitat' ...


evvcom   (2006-03-05 23:10:00) [3]

Негоже юзеру писать в HKEY_LOCAL_MACHINE. Это для админа допустимо, а для юзера HKLM только чтение, а запись в HKCU. Вот и все проблемы.


wicked   (2006-03-05 23:07:00) [4]


> kogda pozlovatel admin, to problem netu, no tolko psotavil
> pozovatela limited v XP, to programka na if TheReg.OpenKey(KeyName,
>  True) vivodit ochubku i nehochet chitat registr. POCHEMU
> ???

потому что для простых пользователей для записи доступна только ветвь HKEY_CURRENT_USER, да и то вроде не вся..... поэтому про CreateKey в ветви HKEY_LOCAL_MACHINE можно успешно забыть, а открывать их желательно методом OpenKeyReadOnly....


Наверх

Титульная страница Поиск, карта сайта Написать письмо