Вниз
Скачать: CL | DM;

Запись в реестр динамического массива   Найти похожие ветки 

 
HPR ©   (2004-04-13 22:08) [0]

У меня есть массив:

A: array of SmallInt;

и его нужно записать в реестр и в последующем считать. Как вы это делаете? Я попробовал с помощью TRegistry.WriteBinaryData, вроде что-то записалось :) Но считывается это дело потом неправильно - мусор какой-то.


 
Anatoly Podgoretsky ©   (2004-04-13 22:11) [1]

Что реестр это свалка, что бы писать туда массивы?
А так метод записи правильный, видимо у тебя ошибка в программе.


 
HPR ©   (2004-04-13 22:23) [2]

Да массивчик небольшой, максимум 30 байт. А в чем ошибка? Вот код привожу:

var
Reg: TRegIniFile;

...........
...........
Reg.WriteBinaryData("Array",A,SizeOf(SmallInt)*Length(A));

запись то вроде работает... А вот чтение:

SetLength(A,Reg.GetDataSize("Array") div 2);
ReadBinaryData("Array",A,Reg.GetDataSize("Array"));

И вот после ReadBinaryData в A записываются либо нули, либо мусор какой-то...


 
Anatoly Podgoretsky ©   (2004-04-13 22:35) [3]

a[0]


 
HPR ©   (2004-04-14 00:09) [4]

Не понял:

"a[0]"


 
Anatoly Podgoretsky ©   (2004-04-14 00:42) [5]

Без кавычек, получится адрес первого элемента массива, что и требуется для функции.

ЗЫ: только для одномерных массивов.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.049 c
4-1078389788
evvcom
2004-03-04 11:43
2004.05.02
Побочный эффект от перехвата API-вызова


1-1081947476
Katya_mgkit
2004-04-14 16:57
2004.05.02
Компанент


4-1078680770
Kor@l
2004-03-07 20:32
2004.05.02
Mouse


3-1081150827
Sirus
2004-04-05 11:40
2004.05.02
Подключение к базе в Windows 2003...


4-1078338089
deema
2004-03-03 21:21
2004.05.02
Как отменить прорисовку child windows-ов?




   Наверх