num11 发表于 2009-5-13 09:20:00

.GetEntity问题请教高手

<p>Dim bpoint1 As AcadEntity</p><p>acaddoc.Utility.GetEntity(bpoint1, basepnt, vbNewLine &amp; "拾取点")</p><p>警告&nbsp;1&nbsp;变量“bpoint1”在赋值前按引用传递。可能会在运行时导致 null 引用异常</p><p>新手请问怎么解决啊?</p><p>谢谢了</p>

雪山飞狐_lzh 发表于 2009-5-13 14:56:00

<p>如果是用NetArx开发的话就不要引用Com了,2007以后的.Net Api已经增强,</p><p>使用Editor类的相关方法获取实体或选择集</p>

num11 发表于 2009-5-13 15:31:00

能不能给个例子,谢谢了

雪山飞狐_lzh 发表于 2009-5-13 19:06:00

下面的例子把选择的直线的起点和终点显示出来
C#代码      
      public void TTT()
      {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Editor ed = doc.Editor;
            PromptEntityOptions opt = new PromptEntityOptions("\n请选择一条直线:");
            opt.SetRejectMessage("\n错误的选择");
            opt.AddAllowedClass(typeof(Line),true);
            PromptEntityResult res = ed.GetEntity(opt);
            if (res.Status == PromptStatus.OK)
            {
                using (Transaction tr = doc.Database.TransactionManager.StartTransaction())
                {
                  Line l = (Line) tr.GetObject(res.ObjectId, OpenMode.ForRead);
                  ed.WriteMessage("\n起点:{0}\n终点:{1}", l.StartPoint, l.EndPoint);
                }
            }
      }

sailorcwx 发表于 2009-5-13 20:51:00

Dim bpoint1 As AcadEntity=nothing
页: [1]
查看完整版本: .GetEntity问题请教高手