明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3263|回复: 10

用了Dictionary<string, string> 就报致命错误

[复制链接]
发表于 2012-4-21 18:40:20 | 显示全部楼层 |阅读模式
本帖最后由 zhengjian211 于 2012-4-21 18:42 编辑

  1.    [CommandMethod("t1")]        static public void t1()        
  2. {           
  3. PromptEntityOptions p = new PromptEntityOptions("\n选择实体");         
  4.   PromptEntityResult res = Application.DocumentManager.MdiActiveDocument.Editor.GetEntity(p);         
  5.   if (res.Status == PromptStatus.OK)           
  6. {              
  7.   Dictionary d = IsPipe();}  public static Dictionary IsPipe()     
  8.    {           
  9. Dictionary result = null;         
  10.   result.Add("管道层", "WP_G");
  11. }



报致命错误。。。怎么回事 百思不得其解啊!


 楼主| 发表于 2012-4-21 18:43:20 | 显示全部楼层
  1.   public static Dictionary IsPipe()
  2.         {
  3.             Dictionary result = null;
  4.             result.Add("管道层", "WP_G");
  5. }
复制代码
这是ispipe函数
发表于 2012-4-21 22:37:29 | 显示全部楼层
我不知道该怎么说。
你还是先多看看别人的代码吧,先把一些基础的东西搞清楚。
发表于 2012-4-22 00:09:42 | 显示全部楼层
YY是我思考的方式,BT是我追求的境界。
 楼主| 发表于 2012-4-22 11:31:41 | 显示全部楼层
回复2楼:的确是对概念不清楚。

Dictionary result = null; 这句在 vs里面会马上抛出错误,而在cad里面则是直接崩溃。

只能说这种机制不是很合理,至少给个改错的机会了
发表于 2012-4-25 16:22:50 | 显示全部楼层
1,不是在你说的那一句出错
2,应该不会是只给别人改错的机会而独独不给你吧?这里也用不着改错。
3,再说一句废话,多看别人的代码。
发表于 2012-4-26 00:44:08 | 显示全部楼层
Dictionary设置为null的话实际上是没有创建对象的,所以还需要new
把Dictionary result = null改成Dictionary<string,string> result = new Dictionary<string,string>()试试
 楼主| 发表于 2012-5-2 21:08:33 | 显示全部楼层
sieben 发表于 2012-4-25 16:22
1,不是在你说的那一句出错
2,应该不会是只给别人改错的机会而独独不给你吧?这里也用不着改错。
3,再说 ...

请问是哪一句出了错,这句在vs里面运行到此处会抛出错误而到了内嵌的dll里面就直接报内存错误,最后的改正方法的确是7楼所说.
 楼主| 发表于 2012-5-2 21:10:50 | 显示全部楼层
public static Dictionary IsPipe()
        {
           Dictionary result = null改成Dictionary<string,string> result = new Dictionary<string,string>()
            result.Add("管道层", "WP_G");
return result;
}
 楼主| 发表于 2012-5-2 21:13:41 | 显示全部楼层
可能我没表达清楚,同样的代码写在标准的控制台程序里面调试的时候会抛出错误,而到了内嵌cad的dll里面则直接报内存错误。 对于各位高手可能是小菜,对于我们业余选手可能要花上很多时间修改。 谢谢各位的指教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-20 13:30 , Processed in 0.203257 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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