Brett_Dai 发表于 2005-3-9 14:49:00

求助一个问题的解决方案!!!紧急

各位大侠,我的问题描述如下:


我用DELPHI开发一个AUTOCAD下的网上电子批注系统,多人在不同时间对一份图纸进行网上批注。每个人通过点击网页上图纸名称对应的连接启动我做的程序进入CAD批注环境,每人的批注信息是在自己的批注层进行的,原则上别人的批注层或者图纸的原始层信息是不允许他改动的。所以一旦他修改了不属于自己的批注层以外的层,那么在他退出后,程序能检测到哪些层被修改了,然后将这些被他修改的层名记录到一个验证文件中,供其他人查询。我的初步问题是在程序关闭CAD时候,如何检测哪些图层被改动了。我查找了CAD开发人员帮助,没有发现层对象有类似Modified的属性。


请大侠们指点,或者给出这个问题的最好解决办法!!急啊!!!!!!!!!!!!

Brett_Dai 发表于 2005-3-9 15:04:00

好急啊!!!!!!救命啊,大侠们!!!在线等啊!!!给个思路也可以啊!!!!

Brett_Dai 发表于 2005-3-9 15:06:00

如果不方便在论坛上留言,也可以发到我信箱里<A href="mailto:bin_jade@sohu.com" target="_blank" >bin_jade@sohu.com</A>跪谢

Brett_Dai 发表于 2005-3-14 10:17:00

这里不是有很多高手吗?我的问题贴出来这么久了怎么没有人回答一下啊???汗!!!!!!!!!

lichh_2003 发表于 2005-3-14 11:51:00

咱们慢慢讨论啊。


QQ10364426

Brett_Dai 发表于 2005-3-14 13:53:00

楼上好汉,我已经加你QQ了,请通过。还望各位同行高手帮小弟解决燃眉之急啊。项目很紧,我就差这一点没有解决了。问题就是那样,给个不同的方法或思路也可以啊,多谢多谢啊!

Brett_Dai 发表于 2005-3-14 17:04:00

Brett 16:22:54<BR>        好啊 <BR>Brett 16:23:13<BR>有空帮我讨论下这个问题吗 <BR>飞过海 16:23:56<BR>好了 <BR>Brett 16:23:42<BR>看了帮助 <BR>Brett 16:24:12<BR>想从图层的dictionary对象入手 <BR>飞过海 16:25:02<BR>什么帮助啊 <BR>Brett 16:24:29<BR>但还最形成方案 <BR>Brett 16:24:54<BR>CAD自带的开发人员帮助手册 <BR>飞过海 16:25:50<BR>你的目的就是看有没有经过修改是不是啊 <BR>Brett 16:25:17<BR>是的 <BR>Brett 16:25:27<BR>有简单的方法吗 <BR>Brett 16:25:33<BR>我是新手啊 <BR>Brett 16:26:03<BR>第一次做CAD的二次开发,而且用的是DELPHI,很多方面没有VBA方面 <BR>Brett 16:26:40<BR>现在我负责的这块就差这个问题解决不了了。 <BR>飞过海 16:27:36<BR>那就不用CAD,直接用DELPHI记录修改了那层不就可以了啊 <BR>Brett 16:27:30<BR>具体点 <BR>飞过海 16:30:48<BR>DELPHI可以控制CAD吧 <BR>Brett 16:30:13<BR>可以啊 <BR>Brett 16:30:24<BR>我就是用D控制CAD的啊 <BR>Brett 16:30:47<BR>可是如何检测DWG文件中某层被修改了呢 <BR>Brett 16:30:57<BR>文件被修改了容易知道 <BR>飞过海 16:32:01<BR>用图层对象 <BR>Brett 16:31:31<BR>我用了 <BR>Brett 16:31:55<BR>但图层对象无法给我我要的信息 <BR>飞过海 16:33:00<BR>我看 看啊 <BR>Brett 16:32:20<BR>比如没有诸如layer.layeron:=true这样的设置 <BR>Brett 16:33:06<BR>最理想的就是有layer.item('abc').modified:=true这样的属性就好了 <BR>Brett 16:33:09<BR>可是没有啊 <BR>Brett 16:35:06<BR>公司就我一个人负责这块,连个讨论的没有,郁闷.多谢你啊 <BR>飞过海 16:36:39<BR>是CAD2005的平台吗 <BR>Brett 16:36:49<BR>是针对04的 <BR>Brett 16:36:58<BR>不过差别不会很大吧 <BR>飞过海 16:41:13<BR>CAD还真的没有 关于这方面的对象 <BR>Brett 16:41:40<BR>我奇怪的是明经上这么多问题就是没有我的问题。是不是都没有这么做过 <BR>飞过海 16:42:53<BR>你这样做的目的是什么? <BR>Brett 16:43:50<BR>多人对一份图纸在不同时间进行批注,但每人都不能动别人的批注层或图纸信息,如果动了可以追究 <BR>Brett 16:44:48<BR>由于你不可能做到让他不修改别人的层,但我可以检测到他动了哪些层,其他人可以查询到 <BR>飞过海 16:45:46<BR>哦,这样的话就没必要用CAD来控制了啊 <BR>Brett 16:45:36<BR>什么叫用CAD来控制?我用DELPHI程序控制的啊 <BR>Brett 16:45:58<BR>我的程序和CAD共同工作的,我开发了一个网上电子批注系统 <BR>Brett 16:46:08<BR>和CAD协同工作的 <BR>飞过海 16:47:00<BR>可以做到不让别人动图层的,你用图层锁定 <BR>Brett 16:47:03<BR>笑了       <BR>飞过海 16:48:19<BR>当有人要批注时要么用以前建立的图层,要么新见一个 <BR>Brett 16:47:54<BR>用过CAD的任何一个人都知道锁住后可以在CAD下很轻易的点击那个“锁”开琐啊 <BR>Brett 16:48:12<BR>包括让层关闭,冻结都没有用的 <BR>Brett 16:48:55<BR>我现在的程序要求能防止用户不用我的程序而直接用CAD菜单操作进行的非法操作都能被我检测到 <BR>Brett 16:49:52<BR>因为CAD是开放的,任何人可以对他做任何事情,防范不了的。那我不防范而是检测你做了什么,然后把你的动作痕迹记录在案 <BR>Brett 16:50:06<BR>这也是一种追究的方法 <BR>Brett 16:50:24<BR>你说的对 <BR>Brett 16:51:06<BR>我现在就是为每个有权限进行批注的人单独维护一个属于他的批注层,与图纸的原始层分开管理的 <BR>飞过海 16:52:00<BR>就是啊 <BR>Brett 16:52:30<BR>所以就出来问题了,如何防止他非法修改别人的批注层,因为我的程序和CAD一起工作的,你程序锁了,他可以用CAD自己的命令解锁啊 <BR>Brett 16:52:38<BR>明白我的问题了吧
页: [1]
查看完整版本: 求助一个问题的解决方案!!!紧急