乐筑天下

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

坚持Paletteset

[复制链接]

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2014-5-6 11:30:49 | 显示全部楼层 |阅读模式
问题:无法将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菜单实用程序。
加载[C:\用户\P28867\文档\autocad开发\lisp\Pacificorp.Lsp]
命令:COMMANDLINE
命令:_RIBBON
命令:BAD
未知命令“BAD”。按F1获取帮助。
命令:
命令:变电站CUIX已加载...成员[P28867]开发用户...
不复制网络文件...
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关闭时调色板是可见的(停靠或浮动),它每次都会回到那个位置。
感谢您提供任何帮助 . . .

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

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

使用道具 举报

4

主题

219

帖子

4

银币

后起之秀

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

铜币
238
发表于 2014-5-6 12:51:54 | 显示全部楼层
感谢您的回复,是的,您对我的问题的分析是100%应用程序(已使用多年)以前的行为与任何其他AutoCAD调色板(层或属性或我们的自定义工具调色板)一样,并且我几乎没有更改初始化代码。
我正在使用的构造函数(当前和之前代码中的原始版本)是:
ps=New PaletteSet(“批处理审计2014 V2.5”、“BAD”、New Guid(“8DC38958-1CBF-4CE7-AEE0-7C98BA84BDAB”)
正如您所说,AutoCAD正在顺从地存储调色板数据并尝试在下一次会话中再次重新调用它,所以我想我的核心问题是为什么我现在需要
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2014-5-6 13:05:12 | 显示全部楼层
解决方案:
正如n.yuan所指出的,我需要预加载我的应用程序,为什么在2014年发布时简单地在我们的S::启动功能中加载它已经工作了多年仍然是个谜。
然而,在欧特克论坛(http://forums.autodesk.com/t5/NET/AutoCAD-2014-Automatic-dll-loading/td-p/4580115)中Balaji_Ram的代码并实现它来注册我的应用程序之后。问题解决了,我的调色板仍然像以前一样保持着会话中的状态。
感谢大家的帮助。
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2014-5-6 13:35:45 | 显示全部楼层
听起来你没有在2013年使用它。当他们抽象出核心功能时,它改变了一些启动功能的顺序
我的网络部署由两部分组成,第一部分是一个配置为在autocad start下运行的程序,该程序检查配置文件的更新版本,第二部分是按需加载的dll
我的建议是从lisp中再迈出一步,如果您通过.net进行配置,您可以创建一个.bundle(从长远来看最简单)或添加注册表项。
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2014-5-6 13:41:15 | 显示全部楼层
不,直接从MAP2011转到MAP2014,一定是错过了关于启动功能更改的留档。
是的,我认为你是对的,创建一个捆绑包最终将是最好的解决方案(特别是因为我们还与大量也使用该应用程序的顾问签订了合同),不幸的是,我现在有点紧张,需要暂时支持多个版本(2011年和2014年),这个注册应用程序的功能是一个很好的解决方案。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 06:58 , Processed in 0.187368 second(s), 62 queries .

© 2020-2025 乐筑天下

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