![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с чтением DWORD значения из реестра Win 7 [D7, WinXP]
Vayrus © (2009-06-26 18:26:00)Здравствуйте, пишу простенькую программку, но возникла проблема, почему то в Windows 7 не работает следующий код (кракозябры), который прекрасно работает под Win XP:
uses
Windows,
SysUtils,
Registry;
const
sKey: string = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall';//\
var
REG: TRegistry;
I: Integer;
begin
REG:= TRegistry.Create;
try
REG.RootKey := HKEY_LOCAL_MACHINE;
if REG.OpenKeyReadOnly(sKey + '\' + '{1A352E3E-9E02-42EC-8465-76A56095C871}') then
begin
if REG.ValueExists('EstimatedSize') then
begin
I := REG.ReadInteger('EstimatedSize');
Writeln('Read DWORD: ' + IntToStr(I));
end else
Writeln('Value not exists');
REG.CloseKey;
end else
Writeln('Cannot open key');
finally
REG.Free;
end;
Readln;
end.
Пожалуйста, помогите поправить код, чтобы он корректно работал нетолько в Win XP, но и в Win 7.
IDE: CodeGear 2009
Vayrus (2009-06-27 10:35:00) [21]
> Вот как! И какже у нас выводятся кракозябры, если ничего
> неломается?
Знал бы - не спрашивал
> Или это штатное поведение?:
Прогнал под отладчиком - все нормально, ничего не вылетает, возможно не так прогнал, хотя тут, как оказалось, ничего сложного)
@!!ex (2009-06-27 10:30:00) [22]Или это штатное поведение?:
@!!ex (2009-06-27 10:30:00) [23]> [16] Vayrus (27.06.09 10:27)
Вот как! И какже у нас выводятся кракозябры, если ничего неломается?
Vayrus (2009-06-27 10:27:00) [24]
> Учи матчасть. Будет проще.
> Аккуратненько с помощью брэйкпоинтов и кнопочек F7 и F8
> проходишься по коду и смотришь когда и что ломается.
Дело в том что ничего и не ломается, но все равно спасибо
@!!ex (2009-06-27 10:24:00) [25]> [14] Vayrus (27.06.09 10:22)
Учи матчасть. Будет проще.
Аккуратненько с помощью брэйкпоинтов и кнопочек F7 и F8 проходишься по коду и смотришь когда и что ломается.
Vayrus (2009-06-27 10:22:00) [26]
> Расскажи мне, дорогой, как можно в тип Integer запихать
> какие-то там символы?
Вот и я удивляюсь)
@!!ex (2009-06-27 10:10:00) [27]> [12] Vayrus (27.06.09 10:06)
Расскажи мне, дорогой, как можно в тип Integer запихать какие-то там символы?
Vayrus (2009-06-27 10:06:00) [28]
> В точку ! Ты его так выровнял, что и прочитать невозможно
> :)
Его не так уж и много, просто так и скажите что лень читать)
> Обычно, прежде чем искать соринку в чужем глазу, вытаскивают
> бревно из своего :)
Ответ был ожидаемым)
> Кстати, я так и не сумела понять, что за ошиба.
> То-ли значение не читается, то-ли не так выводится :)
В вопросе в скобках указано, что значение читается, но результат - кракозября, символы произвольной формы, а не численные значения как ожидалось и должно быть.
Riply (2009-06-27 09:56:00) [29]> [9] Vayrus (27.06.09 09:32)
>> в своем кривом коде
> Очень он даже прямой,
В точку ! Ты его так выровнял, что и прочитать невозможно :)
> это, возможно, кривой модуль Registry в CodeGear 2009.
Обычно, прежде чем искать соринку в чужем глазу, вытаскивают бревно из своего :)
P.S.
Кстати, я так и не сумела понять, что за ошиба.
То-ли значение не читается, то-ли не так выводится :)
Vayrus (2009-06-27 09:45:00) [30]
> Так бездарно задать вопрос!
Возможно, просто давно не задавал вопросов, да и не умею наверно, а тут вот на тебе), извиняюсь, если мой код ввел кого то в заблуждение)
Vayrus (2009-06-27 09:32:00) [31]
> в своем кривом коде
Очень он даже прямой, это, возможно, кривой модуль Registry в CodeGear 2009.
Vayrus (2009-06-27 09:30:00) [32]
> но и не удосужился посмотреть, как он работает.
Не надо придумывать, все я смотрел и как уже говорил выше в Win XP результат возвращаются правильно, а в Win 7 кракозябрами, при том если этот же код компилировать в Delphi 7, то он работает в обеих ОС. А если вам слабо или религия не позволяет вместо данных ключей реестра использовать существующие у вас в реестре, то это уже не мои проблемы, здесь привиден лишь пример чтения DWORD значения.
Германн (2009-06-27 01:44:00) [33]
> Vayrus (26.06.09 23:19) [3]
>
>
> > какой кошмар!
>
>
Эт-точно. (с) Товарищ Сухов.
Так бездарно задать вопрос!
Даже в "Начинающим" - это перебор!
Игорь Шевченко (2009-06-26 23:48:00) [34]
> Вам явно мозг черепную коробку давит, если он вообще есть.
А вот что тебе давит - непонятно, потому что ты не только не описал проблему в своем кривом коде, но и не удосужился посмотреть, как он работает. Использовать форум, как отладчик - занятие крайне неблагодарное, потому что проблема у тебя, а не у отвечающих, понял, да ?
Palladin (2009-06-26 23:25:00) [35]
> Вы же не за моим компьютером сидите.
в точку
> Вам явно мозг черепную коробку давит,
ага ) дырки в ушах спасают.... )
Vayrus (2009-06-26 23:21:00) [36]
> причем этот "следующий код" молчит как партизан...
> Игорь еще мягко выразился... ) тебя бы темечком об парту
Правильно, Вы же не за моим компьютером сидите.
Вам явно мозг черепную коробку давит, если он вообще есть.
Vayrus (2009-06-26 23:19:00) [37]
> какой кошмар!
Опять не в тему, ну сколько можно, а вроде взрослые люди
Palladin (2009-06-26 23:01:00) [38]причем этот "следующий код" молчит как партизан...
Игорь еще мягко выразился... ) тебя бы темечком об парту
Игорь Шевченко (2009-06-26 22:55:00) [39]
> почему то в Windows 7 не работает следующий код
какой кошмар!