Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Ошибка при чтении двочных данных из реестра   Найти похожие ветки 

 
пионер   (2004-10-11 20:15) [0]

Подскажите, почему тут возникает EAccessViolation ?


const
   RegBorland:String =
   "\Software\Borland\Delphi\6.0";
var
 Reg:TRegistry;
 Buf:array of Byte;
 BufSize:Integer;

begin

try

Reg := TRegistry.Create;
Reg.RootKey :=HKEY_CURRENT_USER;
Reg.OpenKeyReadOnly(RegBorland);
BufSize := Reg.GetDataSize("LM");

if BufSize <> -1 then
 SetLength(Buf,BufSize)
else
 Exit;

Reg.ReadBinaryData("LM",Buf,BufSize);

finally
 Reg.CloseKey;
 Reg.Free;
end;
end;


 
begin...end ©   (2004-10-11 20:20) [1]

Где "тут"?


 
пионер   (2004-10-11 20:29) [2]

begin...end ©   (11.10.04 20:20) [1]
Где "тут"?


Reg.ReadBinaryData("LM",Buf,BufSize);

По-моему все правильно...


 
begin...end ©   (2004-10-11 20:31) [3]

И вообще - что это ты там собрался сделать? Очередной кулхацкер?

Для Delphi 7 я не вижу параметра LM в реестре, есть LMKEY и LMLIC, но это  строковые параметры, так что и читать их надо соответственно.

Из описания метода ReadBinaryData:

If the Registry entry contains a known type (such as a string), ReadBinaryData raises an exception.


 
пионер   (2004-10-11 20:36) [4]

LM - двоичный и в Delphi 6 он есть. Я его привел в качестве примера. Ошибка возникает при чтении любого двочного параметра. почему?


 
begin...end ©   (2004-10-11 20:41) [5]

А так:

Reg.ReadBinaryData("LM", Buf[0], BufSize);

?


 
пионер   (2004-10-11 20:49) [6]

Точно! Спасибо! :)


 
begin...end ©   (2004-10-11 20:53) [7]

И ещё:
1. Reg := TRegistry.Create поставь перед try
2. Не забудь освободить память из-под Buf

Удачи!



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

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.035 c
8-1091007531
Wistler
2004-07-28 13:38
2004.10.24
Как получить изображение с Web-камеры?


4-1095791292
Dot
2004-09-21 22:28
2004.10.24
Запись в файл и его создание


3-1095714619
Maxim______
2004-09-21 01:10
2004.10.24
тормоза BLOB в GDB


14-1096862753
Думкин
2004-10-04 08:05
2004.10.24
Новосибирск, встреча, фотографии.


14-1096580193
Comp
2004-10-01 01:36
2004.10.24
Указатель





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский