var
m_ChPic: array of Char;
m_PChPic: PChar;
m_Stream: TMemoryStream;
m_JPG: TJpegImage;-------------------------------开始
m_JPG := TJpegImage.Create;
m_JPG.LoadFromFile('C:\tmp.jpg');
m_Stream := TMemoryStream.Create;
m_JPG.SaveToStream(m_Stream);
m_JPG.Free;
m_Stream.Position := 0;
SetLength(m_ChPic, SizeOf(m_Stream));
m_Stream.ReadBuffer(m_ChPic, m_Stream.Size);
m_Stream.Free;
为什么ChPic老是空的,而且长度只有4呢?已经搞一个通宵了,哪里出错了呢?
m_ChPic: array of Char;
m_PChPic: PChar;
m_Stream: TMemoryStream;
m_JPG: TJpegImage;-------------------------------开始
m_JPG := TJpegImage.Create;
m_JPG.LoadFromFile('C:\tmp.jpg');
m_Stream := TMemoryStream.Create;
m_JPG.SaveToStream(m_Stream);
m_JPG.Free;
m_Stream.Position := 0;
SetLength(m_ChPic, SizeOf(m_Stream));
m_Stream.ReadBuffer(m_ChPic, m_Stream.Size);
m_Stream.Free;
为什么ChPic老是空的,而且长度只有4呢?已经搞一个通宵了,哪里出错了呢?
SetLength(m_ChPic, SizeOf(m_Stream));这句有问题,应该是SetLength(m_ChPic, m_Stream.Size);
不是m_Stream.WriteBuffer的问题
m_Stream.ReadBuffer(Pointer(m_ChPic)^, m_Stream.Size);