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

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

TRegistry ??? [D5, NT4]


onix ©   (2002-04-29 14:07:00) 

Доброго дня всем. Знаю что подобные вопросы были, но поиск к сожалению не работает. Нужно запоминать установки для печати.
Пытаюсь сделать следующее:
procedure TFBlank.FormShow(Sender: TObject);
var R : TRegistry;
begin
R := TRegistry.Create;
R.RootKey := HKEY_LOCAL_MACHINE;
if not R.OpenKey("SizesPrint",true) then begin
R.CreateKey("SizesPrint");
R.CreateKey("SizesPrint\Surname");
end;
end;

В результате получаю Exception "Failed to create key SizesPrint", что не так и как с этим бороться.
И еще вопрос, можно ли заменить R.CreateKey на R.OpenKey("SizesPrint",true)

Заранее спасибо за помощь. Дмитрий


Anatoly Podgoretsky   (2002-04-29 14:59:00) [1]

Я тоже что то не обнаружил разницы в коде.
С правами просто разобраться, попробуй создать ключ с помощью regedit


Song   (2002-04-29 14:54:00) [2]

А чем последний вариант отличается от первоначального?


onix   (2002-04-29 14:45:00) [3]

to Anatoly Podgoretsky ©
Вопрос попроще, а у тебя есть права?
Да вроде права такие как у админа сети.

И дполнительно R.CreateKey("SizesPrint") это лишнее, более того источник ошибки, возможно повиснет в воздухе создание R.CreateKey("SizesPrint\Surname");

Т.е. нужно написать так:
procedure TFBlank.FormShow(Sender: TObject);
var R : TRegistry;
begin
R := TRegistry.Create;
R.RootKey := HKEY_LOCAL_MACHINE;
if not R.OpenKey("SizesPrint",true) then begin
R.OpenKey("SizesPrint",true);
R.OpenKey("SizesPrint\Surname",true);
end;
end;


Anatoly Podgoretsky   (2002-04-29 14:40:00) [4]

Вопрос попроще, а у тебя есть права?
И дполнительно R.CreateKey("SizesPrint") это лишнее, более того источник ошибки, возможно повиснет в воздухе создание R.CreateKey("SizesPrint\Surname");


onix   (2002-04-29 14:27:00) [5]

to Song ©
Прописал строку Reg.Access := KEY_ALL_ACCESS; Эффект тот же.

Хотя в справке написано следующее:
Access is ignored by the CreateKey method, which always uses KEY_ALL_ACCESS.

?????


Song   (2002-04-29 14:25:00) [6]

TRegistry.Access


onix   (2002-04-29 14:22:00) [7]

to Song ©
Если не затруднит, то как его задать?


Song   (2002-04-29 14:14:00) [8]

Вы не задали тип доступа к реестру.


Наверх

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