- 积分
- 0
- 注册时间
- 2021-9-2
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 bobljt 于 2025-7-26 12:39 编辑
patran可以通过修改p3目录中的文件p3toolbar.def、p3_user_menu.def等创建pcl命令快捷键或下拉菜单。
我想使用建立patran一些内置工具的快捷按钮,譬如create list工具。使用!!library和!!library list p3patran查询库函数,筛选出UIL_LIST_CREATE为对应类,即使用命令UI_EXEC_FUNCTION("UIL_LIST_CREATE","display") 可以调出create list工具。
然而问题是,如果同时使用原下拉菜单和命令行调用此工具,patran直接崩溃闪退。
原因似乎是重复初始化,UI_EXEC_FUNCTION("UIL_LIST_CREATE","display")会自动执行init函数。如果使用[color=rgba(3, 14, 44, 0.85)] ui_form_delete("UIL_LIST_CREATE"[color=rgba(3, 14, 44, 0.85)])可以清除内存中的类定义后,另一种方式调用就不会报错。但是如何保证自定义按钮中调用命令不和原下拉菜单冲突呢?如果加一个嵌套函数,嵌套函数内保证执行UI_EXEC_FUNCTION("UIL_LIST_CREATE","display") 前先使用[color=rgba(3, 14, 44, 0.85)]ui_form_delete("UIL_LIST_CREATE"[color=rgba(3, 14, 44, 0.85)])清除内存,只能保证使用原菜单后再使用自定义按钮调用工具不会报错。顺序反过来还是会报错。
另外,如果只使用原下拉菜单或只使用新自定义按钮多次调用此工具则不会报错,证明patran是有机制可以避免重复初始化的。感觉可以从这方面入手解决,但是具体是什么呢?
如何解决呢?求教
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|