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

Вниз

Объясните разницу..   Найти похожие ветки 

 
prodex   (2008-07-03 07:27) [0]

var
s : pchar;
a : array of char;
begin
...
Какая разница между

MemoryStream.ReadBuffer(s,10); и

MemoryStream.ReadBuffer(s[0],10);

Второй вариант работает первый нет...


 
Anatoly Podgoretsky ©   (2008-07-03 07:38) [1]

> prodex  (03.07.2008 7:27:00)  [0]

В первом случае ты пишешь в переменную S, а во втором в буфер выделеный и чей адрес находится в S


 
prodex   (2008-07-03 08:04) [2]

т.е. в первом случае в переменной (по адресу) S находится адрес буфера?


 
Anatoly Podgoretsky ©   (2008-07-03 08:32) [3]

> prodex  (03.07.2008 8:04:02)  [2]

Именно так, именно адрес, а не сам буфер.
Это по сути S и S^


 
Юрий Зотов ©   (2008-07-03 09:18) [4]

> prodex   (03.07.08 08:04) [2]

S - это переменная типа "указатель на однобайтовый символ" (PChar). Ее длина - 4 байта и содержит она адрес буфера (если, конечно, этот буфер был выделен, иначе она содержит мусор).

Ясно, что попытка записи/чтения 10 байт в/из 4-байтную переменную - не самая лучшая идея.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
3-1203085987
patrick1968
2008-02-15 17:33
2008.08.03
Кодировка PARADOX


15-1212679909
Тимохов
2008-06-05 19:31
2008.08.03
Помогите, пожалуйста, с ошибкой 1816


11-1191869034
Jon
2007-10-08 22:43
2008.08.03
WM_THEMECHANGED


4-1194154748
San1712
2007-11-04 08:39
2008.08.03
Как можно программно отследить перемещения по реестру человека ?


15-1213864282
Сатир
2008-06-19 12:31
2008.08.03
Загрузка пакета в рантайме