Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Копирование байт в памяти


Автор: Andrey_P 17.3.2005, 10:17
Люди, нужна помощь в работе с указателями!!!

На VB код выглядит таким образом (особое внимание на комментарий)
Код

 Dim data_array() As Byte = Nothing
    If Not (data.Equals(IntPtr.Zero)) Then
      // Copy the unmanaged record data into a managed byte buffer that we can pass to PlayRecord.
      ReDim data_array(dataSize - 1)
      Marshal.Copy(data, data_array, 0, dataSize)
    End If 


У меня на Delphi должно быть так:
есть p1: PBYTE, есть Count1: UINT.

Надо сделать p2 <> p1 и скопировать в него Count1 байтов, начиная с p1.

Как это правильно сделать?

Автор: p0s0l 17.3.2005, 11:37
Цитата
Надо сделать p2 <> p1 и скопировать в него Count1 байтов, начиная с p1.
Наверное, это имеешь в виду ?
Код
if p1 <> p2 then
  move (p1^, p2^, Count1);// Скопировать из p1 в p2

Автор: Snowy 17.3.2005, 11:47
Наверное
Код

var
  p2: ^byte;
begin
  GetMem(p2,Count1);
  if p1<>nil then move(p1^,p2^,Count1);

Автор: Andrey_P 17.3.2005, 21:15
Спасибо за помощь

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)