![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как можно считать значение DWORD из реестра? [D4, Win95/98]
Lexa18 © (2002-08-14 12:53:00)Буду признателен.
Lexa17 (2002-08-14 18:51:00) [1]В классе ошибки нет, я просмотрел registry.pas. А на сайте Делфи ни хрена, извините, нет, даже патчей для Делфи4
Skier (2002-08-14 18:27:00) [2]>Lexa18
> А откуда их скачать-то?
С оффициального сайта...
> И потом, Анатолий сказал, что это от RunTime зависит
Всё может быть...Но и ошибка в классе TRegistry тоже
не исключена...
Lexa18 (2002-08-14 18:22:00) [3]А откуда их скачать-то? И потом, Анатолий сказал, что это от RunTime зависит
Skier (2002-08-14 18:19:00) [4]>Lexa18
Скачиваешь пачи...и ставишь (к D4 их аж 3 штуки)
Lexa18 (2002-08-14 18:17:00) [5]Здрасте, а от куда же, как не из компилятора? Чем хуже, чем из среды? При запуске из среды выскакивает уже моё сообщение, которое я описал как MessageDlg("Ошибка при просмотре или создании ветви реестра",mtError,[mbOK],0); И ещё, как мне Делфи пропатчить?
Anatoly Podgoretsky (2002-08-14 17:49:00) [6]Lexa18 (14.08.02 17:35)
Это же сообщение не компилятора, а рантайм, кстати ты случайно не из Дельфи запускаешь, если так или настрой Дельфи или запускай вне среды.
Skier (2002-08-14 17:47:00) [7]>Lexa18
Может... В Borland-e тоже люди сидят... и они ошибаются...
У меня кстати и в D4 твой код работает
(но у меня номер сборки 5.108)
Хорошо бы тебе Delphi пропачить...
Lexa18 (2002-08-14 17:42:00) [8]5.37, а что это может повлиять?
Skier (2002-08-14 17:40:00) [9]>Lexa18
Всё это очень странно...Код правильный...
(по крайней мере у меня в D5 всё это работает)
А какой у тебя номер сборки D4 ?
Lexa18 (2002-08-14 17:35:00) [10]Текст ошибки: Project Project1.exe raised exception class ERegistryException with message "Failed to get data for "NoDesktop"". Process stoped....
Anatoly Podgoretsky (2002-08-14 17:08:00) [11]Какую ошибку выдает компилятор?
Да и перемести IsExist.RootKey:=HKEY_CURRENT_USER; сразу за try или совсем ликвидируй, это по умолчанию
Skier (2002-08-14 16:58:00) [12]>Lexa18
Хм. А у меня твой код работает...
Lexa18 (2002-08-14 16:52:00) [13]var IsExist:TRegistry;
begin
IsExist:=TRegistry.Create;
IsExist.RootKey:=HKEY_CURRENT_USER;
try
if IsExist.OpenKey("\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer",false) then
begin
if IsExist.ValueExists("NoDesktop") then
begin
if IsExist.ReadInteger("NoDesktop")=1 then
begin
HideAllBox.Checked:=true;
end
else
HideAllBox.Checked:=false;
end
else //Если значение "NoDesktop" не существует в ключе Explorer,
begin//тогда создадим его и установим значение
IsExist.WriteInteger("NoDesktop",00000000);
HideAllBox.Checked:=false;
end;
end;
except
MessageDlg("Ошибка при просмотре или создании ветви реестра",mtError,[mbOK],0);
end;
IsExist.CloseKey;
IsExist.Free;
Skier (2002-08-14 16:38:00) [14]>Lexa18
Код в студию...
Lexa18 (2002-08-14 16:35:00) [15]Ничего подобного, компилятор выдаёт ошибку, что нельзя прочесть значение, хотя оно существует и при команде определения типа данных вадаёт Integer. Вот не читает значение, и всё тут.
Виктор Щербаков (2002-08-14 12:56:00) [16]TRegistry.ReadInteger