实现用TOlecontain控件显示ACCESS数据库里的OLE字段值(100分)

  • 主题发起人 主题发起人 lsz_615
  • 开始时间 开始时间
L

lsz_615

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现用TOlecontain控件显示ACCESS数据库里的OLE字段值
代码如下:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
var
BS:TBlobStream;
begin
bs:=TBlobStream.Create(Table1.FieldbyName('neirong') as TBlobField,bmRead);
if BS.Size<>0 then
try
with olecontainer1 do
begin
LoadFromStream(BS); //////提示“invalid Stream format
if State<>osEmpty then
Iconic:=true;
end;
finally
bs.Free;
end;
end;
在LoadFromStream处总是出现“invalid stream format”错误?
我实在想不出什么解决办法?

另外这条语句也出现这个错误:
olecontainer1.LoadFromFile('C:/lsz/guangpan/zhijiaguicheng/94/qqq.doc');
是不是控件的某些属性要改呀!
、、、、、、、、、、、、、、、、、、
作 者: ftre(浪九) 2001-05-09 22:14:21 :0 :0
LoadFromStream的参数是文件流而不是tblobstream,要把bs转化成文件流
、、、、、、、、、、、、、、、、、、

怎样转换呀?
 
我是用的ado,代码是
olecontainer1.loadfromstream(adoquery1.CreateBlobStream(adoquery1.fieldbyname('visio'),bmread));
我用的是
Olecontainer1.createobjectfromfile(sfilename,false);没有问题
 
此问题我已解决,用我自己的方法,但无论如何也要谢谢你的参与!
 
后退
顶部