高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】[arx]access存图纸时发现的问题,个人拙见,欢迎讨论
[arx]access存图纸时发现的问题,个人拙见,欢迎讨论
[arx]access存图纸时发现的问题,个人拙见,欢迎讨论
今天玩access时,发现在一个字段中可以设置为ole,突然想到可以把图纸也放进去啊,本来这也没有什么的,可是后来发现,存入一个图纸后,可以鼠标双击,直接打开cad进行编辑了,保存后还可以直接存到access中。
想到:这样的话,我们可以把图纸存到access中了啊,但是问题是,如果通过程序的话,如何不从数据库中取出,存为临时文件,然后打开,而像上面一样,直接进入cad中编辑呢?如果可以实现的话,肯定很有用的。当然,个人拙见,欢迎大家讨论讨论
没有很明白..如果要从access中取出图纸直接进入cad编辑, 这个功能和cad无关, 是给access写一个ole script..如果是用arx实现ole功能, 那就不是对cad的ole, 因为arx是不能脱离cad运行的(arx本来的理念就是让c++能对cad直接进行操作), 所以也只是在cad中运行其他程序文件的ole而不是用arx在access中运行cad ole哦..
virtue is like a rich stone, best plain set.
-- francis bacon, <of beauty>
恩,明白你的意思。~~~可能是我说的不太清楚,其实想要表达的和你一样,汗~~~
我的问题是,如何在c++中对access中的ole对象进行操作了?
嗯, access也是一个exe么, 让c++在access运行时从里面获得ole控制应该是可行的吧..
对ole的具体编制不是很在行, 回去再多学习学习..
virtue is like a rich stone, best plain set.
-- francis bacon, <of beauty>
其实,我的想法是这样最大的好处是选择一张图纸在arx中预览时,不需要从数据库中取出数据建立临时文件。而是直接将数据发到cad中,我觉得可以省去临时文件这一环
不做临时文件, 也是要进出ole控件和server的, 偶看来是一样麻烦..
要预览图纸, 偶希望有一个找打的偷懒办法, 就是直接用open命令叫cad自己那个带预览的open file对话框, 把对话框大小名字改一改..
virtue is like a rich stone, best plain set.
-- francis bacon, <of beauty>
呵呵~~你这种方法还是要硬盘上有图纸文件才行啊,如果在数据库中作为二进制存在的,你还是要取出作为临时文件才行啊,呵呵
哦, 是还没有file out的图纸呀. 那更没办法, cad数据库这种类型的数据只有cad自己认得, 你就算送去别的地方做ole, 也还是cad才能编辑存储, ole的container(比如你最开始说的access)只是负责认出这个是cad文件然后把cad叫出来而已, 并没有替cad做什么事..
你大概是说在arx里面拿数据库中没有file out的图纸做吧..如果偶没记错, 那种似乎是不能没有serialize就直接做成预览的, 因为数据格式都不一样, 数据库图纸还是只有cad才认, c++的preview控件不认..所以不管怎样都是要转换格式的.
virtue is like a rich stone, best plain set.
-- francis bacon, <of beauty>
帮我推荐一下,下面的思路采用什么方式做最好:
把几个cad图纸,用写二进制的方式写到一个文件中,
对这个文件要能检索出所有图纸的图名
我想听听你有什么好的看法和建议
一个cad图纸在arx里就是一个数据库, 不单单是一个文件..
为什么一定要二进制..如果只是要图名的话, 直接把所有打开的图纸挨个激活, 从dwgname变量写出当前图名到文件..
懒人啊..
virtue is like a rich stone, best plain set.
-- francis bacon, <of beauty>
|