如何实现呢?
我的代码执行不了啊var
ms:TMemoryStream ;
bufs : array of byte;
begin
if dlgOpenPicInsert.Execute then
begin
ms:=TMemoryStream.Create;
ms.LoadFromFile(dlgOpenPicInsert.FileName);
ShowMessage(IntToStr( ms.Size));
ms.Read(bufs,ms.size); //报错啊
end;
end;
我的代码执行不了啊var
ms:TMemoryStream ;
bufs : array of byte;
begin
if dlgOpenPicInsert.Execute then
begin
ms:=TMemoryStream.Create;
ms.LoadFromFile(dlgOpenPicInsert.FileName);
ShowMessage(IntToStr( ms.Size));
ms.Read(bufs,ms.size); //报错啊
end;
end;
ms.LoadFromFile(dlgOpenPicInsert.FileName);
ShowMessage(IntToStr( ms.Size));
ms.position := 0; //加一句
ms.Read(bufs,ms.size); //报错啊
报错[DCC Error] Unit1.pas(439): E2008 Incompatible types
ms: TMemoryStream;
a: array of Byte;
begin
ms := TMemoryStream.Create;
ms.LoadFromFile('xxxx');
SetLength(a, ms.Size);
ms.Position := 0;
Move((PByte(ms.Memory))^, a[0], ms.Size);
end;
procedure TForm2.Button1Click(Sender: TObject);
var
ms:TMemoryStream ;
bufs : array of byte;
begin
ms:=TMemoryStream.Create;
ms.LoadFromFile('G:\notepad.exe');
ShowMessage(IntToStr( ms.Size));
SetLength(bufs,ms.Size);//分配内存
ms.Position:=0;
MoveMemory(@bufs[0],ms.Memory,ms.Size);
ms.Free;
end;
ms:TMemoryStream ;
bufs : array of byte;
begin
if dlgOpenPicInsert.Execute then
begin
ms:=TMemoryStream.Create;
ms.LoadFromFile(dlgOpenPicInsert.FileName);
ShowMessage(IntToStr( ms.Size));
SetLength(bufs,ms.Size);
ms.Read(bufs,ms.size); //不报错啊
end;
end;
ms.Read(bufs[0], ms.Size);