乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 169|回复: 13

获取线路长度

[复制链接]

59

主题

230

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
461
发表于 2015-5-22 06:48:12 | 显示全部楼层 |阅读模式
大家好,
我在foreach函数中的变量len出现了一个错误,有人能告诉我为什么会出现这个错误吗
感谢
[CommandMethod(“getlen”)]
公共静态void lineLength()
{
文档Adoc=Application.DocumentManager.MdiActiveDocument
数据库db=Adoc.Database
编辑器ed=Adoc.Editor
双透镜;
ed.WriteMessage(“\n选择行:”)
TypedValue[]Tvals=new-TypedValue[]{new-TypedValue(0,“行”)}
选择过滤器ssf=新选择过滤器(Tvals)
PromptSelectionOptions opt=new-promptsselectionoptions()
PromptSelectionResult psr=ed.GetSelection(opt,ssf)
如果(psr.Status==PromptStatus.OK&&psr.Value.Count>0)
使用(Transaction trans=db.TransactionManager.StartTransaction())
{
foreach(在psr.Value中选择对象项)
{
Line Line=(Line)trans.GetObject(item.ObjectId,OpenMode.ForWrite)
len+=行。长度;//
}
ed.WriteMessage(“行的长度:”+len.ToString())
trans.Commit()
}
}

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-5-22 07:10:07 | 显示全部楼层
进入调试模式,在line=语句中放置一个断点,在迭代psr...时检查您的变量值,这可能会有所帮助。
BTW。
一个更便宜的过程是在循环之外声明行变量,并在迭代时分配一个值,而不是在每一步声明和分配
...更重要的是...你为什么要将getObject强制为Line...你的选择过程不是确保它是一条线吗??
补充:你为什么要将OpenMode设置为ForWrit??
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2015-5-22 07:16:36 | 显示全部楼层
嗨,
你什么时候(或在哪里)叫tr.Commit()?
回复

使用道具 举报

59

主题

230

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
461
发表于 2015-5-22 07:28:54 | 显示全部楼层
你好,Kerry,
我正在循环过程中分配一个新的line对象来获取length属性,这是我目前知道的唯一方法。
你好gile,
我知道这个程序中不需要提交,因为这些代码没有添加新的对象。
它在那里的原因是,我开始从另一个程序编写程序,却忘记从新程序中删除它。
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2015-5-22 07:36:19 | 显示全部楼层
程序员,
你在这两点上都是不正确的。
再读一遍我写的东西。多重分配和多次声明/分配之间是有区别的。
提交是有利的......它更快,更安全。在过去的10年左右的时间里,这一直是这里和其他地方许多长期讨论的原因。
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2015-5-22 08:32:41 | 显示全部楼层
编码器,
首先,原谅我的回复,我误读了你的代码。
第二,听从Kerry的建议。
第三,将光标放在len变量上(发生错误的那一行),visual studio应该会显示一个工具提示,告诉您哪种错误...
回复

使用道具 举报

59

主题

230

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
461
发表于 2015-5-22 12:25:53 | 显示全部楼层
嗨,
我无法运行该程序,因为我收到一条消息(存在构建错误。你想要...吗?....etc Yes / No)
这种情况下如何测试程序?
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2015-5-22 12:33:27 | 显示全部楼层
您不初始化 len 符号。
双伦;
将其更改为
双 len= 0;
回复

使用道具 举报

59

主题

230

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
461
发表于 2015-5-22 12:49:07 | 显示全部楼层

嗨,Jeff_M
从昨天开始,我就对这个错误感到头疼,现在一切都解决了。
非常感谢您。
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2015-5-22 12:49:54 | 显示全部楼层

要执行我的建议,您不需要运行程序。大多数“编辑时间”错误由Visual Studio显示,并在错误下方用红色波浪线标出。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 02:39 , Processed in 0.158989 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表