简单的问题,送分,关于stream !!(100分)

  • 主题发起人 主题发起人 yang_mis
  • 开始时间 开始时间
Y

yang_mis

Unregistered / Unconfirmed
GUEST, unregistred user!
我从 db 中 用流取出*.dwg图片,现在我要将这个流saveto一个tem.dwg
我用的是filestream 取 ,用memorystream copyfrom (filestream),
最后用memorystream.saveto();
当我copyfrom 的时候,出措(stream read error)
请问如何解决?有源代码吗?
 
FileStream.Position:=0;
 
好象还是不对!
var
tem:tfilestream;
tem1:tmemorystream;
begin
try
tem1:=tmemorystream.create;
tem:=tfilestream.Create('d:/xujin/1.bmp',fmOpenReadWrite);
tem.position:=0;
tem1.CopyFrom(tem,tem.size);//error : stream read error
tem1.SaveToFile('d:/a.bmp');
finally
tem.free;
tem1.free;
end;
end;
这段代码有错误!
请问如何修改!
 
如果用于拷贝图象 该段代码基本没错 可运行
不过最好用tem1.loadfromstream(tem);//原因吗用个IMAGE装一个图片试一试就知道了
 
也许是你的其他代码有问题
 
这样好像会出错的。。。。。。。。。
只能用filesteam的READBUFFER 方法。。。。。。。。。。。
其实可以不用filestream.用tmemorystream 的loadfromfile 方法就OK。。
不过文件不能太大啊

 
你自己系统的问题。
你的代码在我的机器上运行没有任何问题。  win2k +sp3 professional +d6
 
刚刚测试过!没问题!
 
tem1.CopyFrom(tem,0);
 
agree with yamazeki,
 
我原来也遇到过,这样:
tem1.CopyFrom(tem,tem.size);//error : stream read error
改为
tem1.read(tem,tem.size);
俺也不知道为什么,只是这样是可以不出现 error : stream read error了
 
你的代码经我测试没有问题!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部