没有使用PromptEntityOptions选择任何内容
**** Hidden Message ***** 我正在使用这段代码进行测试,我没有写它。
要进行测试,请加载代码并单击图形的空白区域。
请注意提示“未选择任何内容”。
我需要翻译或不向用户显示此内容。
谢谢
static public void UpdateTableFromSpreadsheet()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
PromptEntityOptions opt = new PromptEntityOptions("\nSelect table to update: ");
opt.SetRejectMessage("\nEntity is not a table.");
opt.AddAllowedClass(typeof(Table), false);
PromptEntityResult per = ed.GetEntity(opt);
if (per.Status != PromptStatus.OK)
{
return;
}
Transaction tr = db.TransactionManager.StartTransaction();
}
可能需要探索,NoneOremptySel int PromptedOptions有一个内部函数process
不起作用,我认为可以捕获SystemVariableChanged或SystemVariableChanging并否决它。
我看到的唯一其他选项是通过p/调用acedEntSel来滚动您自己的选项
也许玩NOMUTT系统?
在运行命令之前,我将NOMUTT变量设置为1,但它不起作用。
有没有类似于 C# 中的 ERRNO sysvar 变量?
错误代码参考(自动LISP)
(getvar 'ERRNO)
7 -> 对象选择:选取失败
52 ->实体选择:空响应 在我看来,消息起源于
protected internal sealed override unsafe PromptResult DoIt() . . .
和
private protected unsafe int ProcessForNoneOrEmptySel(int retcode)
,然后进一步深入兔子洞。
太深了,而且由于访问限制,可能不够有成效,我无法遵循......
问候 再次感谢大家的帮助。
我仍在使用C#学习AutoCAD API,很高兴能得到像您这样的人的帮助。
页:
[1]