坚持Paletteset
问题:无法将Paletteset从一个会话持续到另一个会话(假设它驻留在退出时)。我想我已经阅读了所有相关帖子,我发誓我曾经让它工作过,BAD是用于调用应用程序的命令,ps是共享的Paletteset。这是将应用程序转换为兼容的结果。
这是我的代码:
Public Shared Sub Show()
如果ps什么都没有,那么
'(命令为字符串[当AutoCAD重新启动以显示调色板时使用,如果它在用户退出时
'可见],工具ID作为系统GUID)
ps=New PaletteSet("BAD",New Guid("8DC38958-1CBF-4CE7-AEE0-7C98BA84BDAB"))
ps.MinimumSize=新Drawing.Size(400,600)
ps.Style=PaletteSetStyles.NameEditable或PaletteSetStyles.ShowPropertiesMenu_
或PaletteSetStyles.ShowAutoHideButton或PaletteSetStyles.ShowCloseButton
如果File.Exists("C:\Paceforp\pcorp.ico"),那么ps.Icon=新图标("C:\Pacficorp\pcorp.ico")
ps.Name="绘图批次审核2014"
ps.Add("绘图批次审核2014",bad_control)
结束如果
ps.Visible=True
结束子
正在发生的一件奇怪的事情(一个新的开发或我刚刚错过的东西)是AutoCAD
似乎正在发出命令来启动应用程序,但是它似乎正在这样做
befor
e代码由我们的启动Lisp S::启动函数(见下文)净加载。
加载AutoCAD菜单实用程序。
加载
命令:COMMANDLINE
命令:_RIBBON
命令:BAD
未知命令“BAD”。按F1获取帮助。
命令:
命令:变电站CUIX已加载...成员开发用户...
不复制网络文件...
JB-Netload: C:\用户\P28867\Documents\Visual Studio 2010\Projects\Pcorp\bin\Debug\PCorp.Dll
JB-Netload: C:\用户\P28867\Documents\Visual Studio 2010\Projects\Pcorp_FXUpdate_2010\bin\Debug\FXUpDate.DLL
不本地复制XML文件......
命令:
加载AeciIb...
加载AeciUiBase...
加载AeciIbApi...
加载AeciRibbonUiApi...
命令:
上面粗体的行显示AutoCAD正在发出命令以正确启动应用程序(命令名称为“BAD”,直到S::启动执行下面的四行后才加载应用程序)。请忽略关于不加载支持文件的提示,这只是我为开发而做的事情。
这一切中奇怪的是它曾经完美地工作,我们已经使用这个应用程序多年了。这个特殊的问题源于将代码转换为AutoCAD 2013/2014的新ARX代码要求。在此之前,如果Autocad关闭时调色板是可见的(停靠或浮动),它每次都会回到那个位置。
感谢您提供任何帮助 . . .
**** Hidden Message ***** 感谢您的回复,是的,您对我的问题的分析是100%应用程序(已使用多年)以前的行为与任何其他AutoCAD调色板(层或属性或我们的自定义工具调色板)一样,并且我几乎没有更改初始化代码。
我正在使用的构造函数(当前和之前代码中的原始版本)是:
ps=New PaletteSet(“批处理审计2014 V2.5”、“BAD”、New Guid(“8DC38958-1CBF-4CE7-AEE0-7C98BA84BDAB”)
正如您所说,AutoCAD正在顺从地存储调色板数据并尝试在下一次会话中再次重新调用它,所以我想我的核心问题是为什么我现在需要 解决方案:
正如n.yuan所指出的,我需要预加载我的应用程序,为什么在2014年发布时简单地在我们的S::启动功能中加载它已经工作了多年仍然是个谜。
然而,在欧特克论坛(http://forums.autodesk.com/t5/NET/AutoCAD-2014-Automatic-dll-loading/td-p/4580115)中Balaji_Ram的代码并实现它来注册我的应用程序之后。问题解决了,我的调色板仍然像以前一样保持着会话中的状态。
感谢大家的帮助。
听起来你没有在2013年使用它。当他们抽象出核心功能时,它改变了一些启动功能的顺序
我的网络部署由两部分组成,第一部分是一个配置为在autocad start下运行的程序,该程序检查配置文件的更新版本,第二部分是按需加载的dll
我的建议是从lisp中再迈出一步,如果您通过.net进行配置,您可以创建一个.bundle(从长远来看最简单)或添加注册表项。 不,直接从MAP2011转到MAP2014,一定是错过了关于启动功能更改的留档。
是的,我认为你是对的,创建一个捆绑包最终将是最好的解决方案(特别是因为我们还与大量也使用该应用程序的顾问签订了合同),不幸的是,我现在有点紧张,需要暂时支持多个版本(2011年和2014年),这个注册应用程序的功能是一个很好的解决方案。
页:
[1]