OleContainer如何从存放有BMP文件的数据库字段读取BMP文件,作为编辑器(200分)

  • 主题发起人 主题发起人 Carfield2001
  • 开始时间 开始时间
C

Carfield2001

Unregistered / Unconfirmed
GUEST, unregistred user!
OleContainer1.loadfromstream()
 
不可能。
自己去做一个OCX看看。
 
weekboy说得很正确,依照这个思路是绝对可以实现的,不过我提醒一点,使用FileStream
存储到Database bolb字段,在OleContainer1里面是Load不出来的,因为OleContainer使用
它自己的stream格式,不是一般的文件流
 
use MemoryStream,not only Stream
 
dragonpc_???说得没错。
在存入数据库前,设置filestream.position
load的时候,也先设置一下position。这样就可以了。
 
CarField2001好象是说要编辑BMP哦,不仅是读取。
 
代码如下: ole:Tolecontainer;
oleDY:TMemoryStream; //取出数据库中的WORD 文件
begin
oleDY := TMemoryStream.Create;
oledy.Clear;
(table1.FieldByName('ole') as TBlobField).SaveToStream(oleDY);
if oledy.size>0 then
begin
oleDY.Position := 0;
OLE.LoadFromSTREAM(oleDY);
ole.DoVerb(1);
end;
运行时出现错误:
file stream error,如何解决?
 
Dragon_PC说的不错,Ole的Stream格式与BMP存的Stream格式不一样。
 
To lcl800,我碰到的问题和你的几乎一样,你的问题解决了吗?大家帮帮忙吧!
 
后退
顶部