![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
перевести данные из pChar в array of Byte [D6, XP, 2003]
noi © (2008-01-28 21:48:00)собственно сабж.
делал так:
var
pCharBuf : pChar;
BufByte : array of Byte;
begin
BufByte := @pCharBuf;
получаю пустой буффер.
научите как правильно. мастера. спс.
noi (2008-01-28 22:13:00) [21]ммм. я наверно вёл вас в заблуждение. дело обстоит так.
function Con(pCharBuf: pChar; pCharBufSize): Integer;
var
BufByte : array of Byte;
begin
SetLength(NewBuf, pCharBufSize);
BufByte := @pCharBuf;
....
end;
функция вызывается с заполненным pCharBuf. pCharBufSize - размер массива.
буфер переноситься, но данные какие то не такие получаются в BufByte. )
DVM (2008-01-28 22:10:00) [22]
> homm © (28.01.08 22:07) [6]
Да кто его поймет, что ему надо. Он две переменных разного типа завел, ни под одну память не выделил и ничего в них не клал. Причем удивляется что там пусто.
homm (2008-01-28 22:07:00) [23]> [5] DVM © (28.01.08 22:04)
Не надо никакого CopyMemory,pCharэто и такarray of Byte.
DVM (2008-01-28 22:04:00) [24]
var
pCharBuf: pChar;
BufByte: array of Byte;
begin
PCharBuf := 'Delphi';
SetLength(BufByte, StrLen(PCharBuf));
CopyMemory(BufByte, pCharBuf, StrLen(PCharBuf));
DVM (2008-01-28 21:59:00) [25]
> Германн © (28.01.08 21:57) [3]
в его коде еще и под pCharBuf не выделил никто
Германн (2008-01-28 21:57:00) [26]
> DVM © (28.01.08 21:54) [2]
Дык кто ж ему выделит память в том месте, которое уже занято PChar'ом?
DVM (2008-01-28 21:54:00) [27]Память под массив пушкин выделать будет?
homm (2008-01-28 21:53:00) [28]> [0] noi (28.01.08 21:48)
> BufByte : array of Byte;
Типа так может быть?
BufByte : ^array of Byte;