[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哦.. 恩,明白你的意思。~~~可能是我说的不太清楚,其实想要表达的和你一样,汗~~~
我的问题是,如何在C++中对Access中的OLE对象进行操作了? 嗯, Access也是一个EXE么, 让C++在Access运行时从里面获得OLE控制应该是可行的吧..
对OLE的具体编制不是很在行, 回去再多学习学习.. 其实,我的想法是这样最大的好处是选择一张图纸在ARX中预览时,不需要从数据库中取出数据建立临时文件。而是直接将数据发到CAD中,我觉得可以省去临时文件这一环 不做临时文件, 也是要进出OLE控件和server的, 偶看来是一样麻烦..
要预览图纸, 偶希望有一个找打的偷懒办法, 就是直接用open命令叫CAD自己那个带预览的open file对话框, 把对话框大小名字改一改.. 呵呵~~你这种方法还是要硬盘上有图纸文件才行啊,如果在数据库中作为二进制存在的,你还是要取出作为临时文件才行啊,呵呵 哦, 是还没有file out的图纸呀. 那更没办法, CAD数据库这种类型的数据只有CAD自己认得, 你就算送去别的地方做OLE, 也还是CAD才能编辑存储, OLE的container(比如你最开始说的Access)只是负责认出这个是CAD文件然后把CAD叫出来而已, 并没有替CAD做什么事..
你大概是说在ARX里面拿数据库中没有file out的图纸做吧..如果偶没记错, 那种似乎是不能没有serialize就直接做成预览的, 因为数据格式都不一样, 数据库图纸还是只有CAD才认, C++的preview控件不认..所以不管怎样都是要转换格式的. 帮我推荐一下,下面的思路采用什么方式做最好:
把几个CAD图纸,用写二进制的方式写到一个文件中,
对这个文件要能检索出所有图纸的图名
我想听听你有什么好的看法和建议 一个CAD图纸在ARX里就是一个数据库, 不单单是一个文件..
为什么一定要二进制..如果只是要图名的话, 直接把所有打开的图纸挨个激活, 从DWGNAME变量写出当前图名到文件..
懒人啊..
页:
[1]