明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1876|回复: 9

[ARX]Access存图纸时发现的问题,个人拙见,欢迎讨论

[复制链接]
发表于 2005-3-28 21:04:00 | 显示全部楼层 |阅读模式
今天玩Access时,发现在一个字段中可以设置为OLE,突然想到可以把图纸也放进去啊,本来这也没有什么的,可是后来发现,存入一个图纸后,可以鼠标双击,直接打开CAD进行编辑了,保存后还可以直接存到Access中。


想到:这样的话,我们可以把图纸存到Access中了啊,但是问题是,如果通过程序的话,如何不从数据库中取出,存为临时文件,然后打开,而像上面一样,直接进入CAD中编辑呢?如果可以实现的话,肯定很有用的。当然,个人拙见,欢迎大家讨论讨论
发表于 2005-3-29 14:28:00 | 显示全部楼层
没有很明白..如果要从Access中取出图纸直接进入CAD编辑, 这个功能和CAD无关, 是给Access写一个OLE script..如果是用ARX实现OLE功能, 那就不是对CAD的OLE, 因为ARX是不能脱离CAD运行的(ARX本来的理念就是让C++能对CAD直接进行操作), 所以也只是在CAD中运行其他程序文件的OLE而不是用ARX在Access中运行CAD OLE哦..
 楼主| 发表于 2005-3-29 15:48:00 | 显示全部楼层
恩,明白你的意思。~~~可能是我说的不太清楚,其实想要表达的和你一样,汗~~~


我的问题是,如何在C++中对Access中的OLE对象进行操作了?
发表于 2005-3-30 10:58:00 | 显示全部楼层
嗯, Access也是一个EXE么, 让C++在Access运行时从里面获得OLE控制应该是可行的吧..


对OLE的具体编制不是很在行, 回去再多学习学习..
 楼主| 发表于 2005-3-30 15:51:00 | 显示全部楼层
其实,我的想法是这样最大的好处是选择一张图纸在ARX中预览时,不需要从数据库中取出数据建立临时文件。而是直接将数据发到CAD中,我觉得可以省去临时文件这一环
发表于 2005-3-31 10:26:00 | 显示全部楼层
不做临时文件, 也是要进出OLE控件和server的, 偶看来是一样麻烦..


要预览图纸, 偶希望有一个找打的偷懒办法, 就是直接用open命令叫CAD自己那个带预览的open file对话框, 把对话框大小名字改一改..
 楼主| 发表于 2005-3-31 15:02:00 | 显示全部楼层
呵呵~~你这种方法还是要硬盘上有图纸文件才行啊,如果在数据库中作为二进制存在的,你还是要取出作为临时文件才行啊,呵呵
发表于 2005-3-31 15:15:00 | 显示全部楼层
哦, 是还没有file out的图纸呀. 那更没办法, CAD数据库这种类型的数据只有CAD自己认得, 你就算送去别的地方做OLE, 也还是CAD才能编辑存储, OLE的container(比如你最开始说的Access)只是负责认出这个是CAD文件然后把CAD叫出来而已, 并没有替CAD做什么事..


你大概是说在ARX里面拿数据库中没有file out的图纸做吧..如果偶没记错, 那种似乎是不能没有serialize就直接做成预览的, 因为数据格式都不一样, 数据库图纸还是只有CAD才认, C++的preview控件不认..所以不管怎样都是要转换格式的.
 楼主| 发表于 2005-4-2 22:50:00 | 显示全部楼层
帮我推荐一下,下面的思路采用什么方式做最好:


把几个CAD图纸,用写二进制的方式写到一个文件中,


对这个文件要能检索出所有图纸的图名


我想听听你有什么好的看法和建议
发表于 2005-4-5 10:07:00 | 显示全部楼层
一个CAD图纸在ARX里就是一个数据库, 不单单是一个文件..


为什么一定要二进制..如果只是要图名的话,        直接把所有打开的图纸挨个激活, 从DWGNAME变量写出当前图名到文件..


懒人啊..
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 08:41 , Processed in 0.189085 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表