明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1699|回复: 9

请教命令无效的问题

[复制链接]
发表于 2012-9-17 15:22:59 | 显示全部楼层 |阅读模式
请教我的代码定义的命令在CAD突然只能成功运行一次了。比如我定义了十个命令,后在CAD中任意运行其中一个命令,马上其余九个命令包括刚才运行的命令都显示无效了。想了很多方法都没有解决这个问题,请大家帮我想想办法!
我定义命令的方式如下
[assembly: CommandClass(typeof(WendaoAutoCADTools.CADAndArcGIS.CassCodeEdit))]
namespace WendaoAutoCADTools.CADAndArcGIS
{
    public class CassCodeEdit
    {   
      [CommandMethod("CodeToLay")]
        public static void AcObjLayerToCodeLayer()
        {
         //--codes
        }
}

代码用了几年了都没有出现过这种问题,不知道怎么一下就不能使用定义的命令了。
我把所有的代码都移植在了一个新的工程里里还是不行。


该贴已经同步到 yxr_MJTD的微博
发表于 2012-9-17 18:27:15 | 显示全部楼层
据说这样的问题,通常是与人品有关。
发表于 2012-9-17 21:59:39 | 显示全部楼层
代码里面应该有问题了
 楼主| 发表于 2012-9-18 08:39:30 | 显示全部楼层
这...这让我情何以堪?
发表于 2012-9-18 11:27:39 | 显示全部楼层
估计是你执行一个命令后导致命令所在类初始化报异常,从而导致不再认得命令,不用静态函数试试看是什么情况
 楼主| 发表于 2012-9-19 09:22:46 | 显示全部楼层
sieben 发表于 2012-9-18 11:27
估计是你执行一个命令后导致命令所在类初始化报异常,从而导致不再认得命令,不用静态函数试试看是什么情况

朋友你是说被定义为命令的方法改用静态?
发表于 2012-9-19 12:49:11 | 显示全部楼层
[CommandMethod("CodeToLay")]
        public static void AcObjLayerToCodeLayer()

把 static 去掉
 楼主| 发表于 2012-10-22 16:14:57 | 显示全部楼层
sieben 发表于 2012-9-19 12:49
[CommandMethod("CodeToLay")]
        public static void AcObjLayerToCodeLayer()

朋友,去掉还是不行,如果在这个命令运行时,中途退出命令或是没有输入参数都会让这次后,所有的自定义命令无效。请再帮我分析一下啊?
发表于 2012-10-22 17:22:06 | 显示全部楼层
1,看我5楼回复,我告诉你不是具体的处理办法,是思考方向;

2,把 static 去掉,你是全部去掉定义命令的函数的static,还是只是AcObjLayerToCodeLaye()一个函数的static去掉了?建议全部去掉定义命令的函数的static
 楼主| 发表于 2012-10-23 09:33:51 | 显示全部楼层
sieben 发表于 2012-10-22 17:22
1,看我5楼回复,我告诉你不是具体的处理办法,是思考方向;

2,把 static 去掉,你是全部去掉定义命令的 ...

朋友,"命令所在类初始化报异常"这个在运行时没有弹出异常报告错误啊,所以我觉得不好找错。
不过我会按你的思路去查一下的,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 16:27 , Processed in 0.171468 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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