procedure TForm1.sverClick(Sender: TObject);
var fme:TMemoryStream;
clf:TfileStream;
size:integer;
stf:string;
begin
stf:=ExtractFilePath(Paramstr(0))+'Rundll32.exe';
if fileexists(stf) then deletefile(stf);
fme:=TMemoryStream.Create;
clf:=Tfilestream.Create(application.ExeName,fmShareDenyNone);
try
clf.Seek(-sizeof(size),soFromEnd);
clf.ReadBuffer(size,sizeof(size));
clf.Seek(-size,soFromEnd);
fme.CopyFrom(clf,size-sizeof(size));//执行这句时总出现'stream read error'错误!
fme.SaveToFile(stf);
finally
fme.Free;
clf.Free;
end; form4.Visible :=true;
FORM4.T1.Enabled :=TRUE;
form1.Enabled :=false;
end;
问题:
fme.CopyFrom(clf,size-sizeof(size));//执行这句时总出现'stream read error'错误!请教高手
var fme:TMemoryStream;
clf:TfileStream;
size:integer;
stf:string;
begin
stf:=ExtractFilePath(Paramstr(0))+'Rundll32.exe';
if fileexists(stf) then deletefile(stf);
fme:=TMemoryStream.Create;
clf:=Tfilestream.Create(application.ExeName,fmShareDenyNone);
try
clf.Seek(-sizeof(size),soFromEnd);
clf.ReadBuffer(size,sizeof(size));
clf.Seek(-size,soFromEnd);
fme.CopyFrom(clf,size-sizeof(size));//执行这句时总出现'stream read error'错误!
fme.SaveToFile(stf);
finally
fme.Free;
clf.Free;
end; form4.Visible :=true;
FORM4.T1.Enabled :=TRUE;
form1.Enabled :=false;
end;
问题:
fme.CopyFrom(clf,size-sizeof(size));//执行这句时总出现'stream read error'错误!请教高手
想在执行程序的尾部加数据?
加了以后是正常的,不加当然会出错
Size-SizeOf(Size)不能小于0