找回密码
 注册
Simdroid-非首页
查看: 2677|回复: 0

[PCL] 如何正确调用patran内置工具

[复制链接]
发表于 2025-7-26 12:07:08 | 显示全部楼层 |阅读模式 来自 四川成都
本帖最后由 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是有机制可以避免重复初始化的。感觉可以从这方面入手解决,但是具体是什么呢?

如何解决呢?求教

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2026-1-2 20:00 , Processed in 0.024610 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表