blob->ole->dwf(Autocad2000浏览器文件)的显示问题??(150分)

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

cqm

Unregistered / Unconfirmed
GUEST, unregistred user!
我在delphi中将Autocad2000的文件存为dwf格式后,用OLE嵌入方式存入Oracle8.1.0
中的Blob字段,但之后用浏览器打开Olestream出错或Savetofile('c:/temp.dwf')的文件
格式不对,我只想浏览Autocad文件而不想修改它,该如何显示呢?希望得到这方面高手
的指点??
 
你说的方法我没用过,但.DWF的文件不一定要用浏览器来查看,
在ACAD的安装光盘中有一个ThumbNeil.ocx(名字不一定对,查
找一下就可以了),R14和R2000都有,把它加入Delphi中,就可以
显示DWG和DWF文件了。
 
Use MemoryStream;
详见我的问题,可能有所启发!?
 
To 杜宝:
你好,我也使用过ThumbNeil.ocx,但是该控件需要给出指定的文件路径和文件名,
但是现在通过OLE在数据库中是以流的方式储存在TMemoryStream中,并没有文件名,
因此不知道该如何给它指定?

To Jams:
你好,我现在就是用TMemoryStream
blobstream : tBlobStream;
OleStream : TMemoryStream;
blobstream := tBlobstream.create(tbKBLIST.FieldByName('acad') as tblobfield, bmread);
OleStream.copyfrom(blobstream, 0);
OleContainer1.LoadFromStream(OleStream);
OleStream.Position := 0;
用OleContainer1时还是用启动ACAD2000打开文件,但我只想浏览文件,而不能让别人修改.
现在我该如何呢?
 
怎么现在仍没有人来回答呢?
焦急地盼望高手指点!!!
 
表示关注!!!!!
希望得到答案!!!!
 
不把dwg 文件嵌入数据库,只用数据库指定路径,用浏览器或软件去访问。
 
但是他的问题是文件保存在数据库中,此时并不存在文件名和文件路径的说法。也就是说
不是用外部文件的方法来处理。
 
To 小燕:
我只是提出另外一种解决方法,不把dwg 文件进入数据库。

我也想知道dwg 文件进入数据库后,调用的方法。
 
怎么到现在还没有人关心一下呢?????
 
再一次刷新希望得到版主的关心!!!!
 
我在delphi中将Autocad2000的文件存为dwf格式后,用OLE嵌入方式存入Oracle8.1.0
中的Blob字段,但之后用浏览器打开Olestream出错或Savetofile('c:/temp.dwf')的文件
格式不对,
--什么流览器打开不对,你用OLE方式写库的,读出来肯定还是得用AUTOCAD来表现了。

我只想浏览Autocad文件而不想修改它,该如何显示呢?
----能不能修改全在于你的界面程序是怎么写的。
如果你不向库递交,用户在AUTOCAD里改什么都没用,又不会保存到库里去。
你不是想要这个效果吧, OLE区域的DISENABLE, 用户还要漫游图片呢
 
请继续或结束
 
请结束或继续
 
我也想知道有关用OLE预览AUTOCAD的图象的问题,如有那位朋友有高招,请讲。或发E——MAIL

LIU_CHINA@263.NET
 
为什么要用OLE嵌入,直接把文件字节流写入Blob中不行吗,浏览时读出到'c:/temp.dwf'
应该可以浏览,OLE写入应该有一些额外的东西,当然不行,不懂Oracle,不对别见笑。
 
yth好像有点道理,不知具体能否行通????
 
数据存取用BLOB倒能实现,我想找到怎样突破BLOB SIZE上限的方法,哪位有能给我吗?
 
可以在DELPHI中加入DwgThumbnail.ocx,即可实现AUTOCAD的预览。
方法:打开component|import avtivaX control,在其中安装auotocad dwgthumbnail
control module。然后在ACTIVEX控件中可找到相应的控件预览 autocad 图象。机器上
必须要安装AUTOCAD.
 
后退
顶部