找回密码
 注册
查看: 4947|回复: 27
打印 上一主题 下一主题

自定义菜单重复加载

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-11-21 15:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x

我是新建了一个 menu.il ,再在allegro.ilinit 中加载的
下面是menu.il最后几行代码
  1.         let( (q)
  2.         q = axlUIMenuFind(nil -1)
  3.         res = axlUIMenuInsert(q skillToolsMenu)))
  4. axlTriggerSet('menu  'toolmenucreat)
复制代码
不知道是不是安装了EDA365 SKILL的缘故,打开ALLEGRO后,菜单先是瞬间在help左边出现,
过了一会EDA365 SKILL加载完了,菜单就又加载了一次,在 EDA365 SKILL的右边
导致出现两个一模一样的菜单,我按照下面链接的帖子修改过,但还是一直不成功,怎么破T^T
https://www.eda365.com/thread-117180-1-1.html

该用户从未签到

推荐
发表于 2016-11-30 15:07 | 只看该作者
16.6测试通过,可以粘贴到allegro.ilinit中测试下

点评

支持!: 5.0
支持!: 5
可以了!版主太棒了~~~!!!!♪(^∇^*)  发表于 2016-11-30 15:25

该用户从未签到

推荐
 楼主| 发表于 2016-11-30 13:28 | 只看该作者
deargds 发表于 2016-11-30 11:00
可以贴下你添加后的部分代码看下
  1. defun(toolmenucreat (arg)
  2. SKILLToolsMenu = '(
  3.      (popup "Skill")
  4.          )

  5. procedure(toolmenucreat(tMenuFile)
  6.         let((xMenuID)
  7.                 when(tMenuFile == "allegro" ;只判斷第一次載入及執行,如果沒有此判斷的話,有其他程式也是使用動態選單時,就會再加載一次
  8.                         xMenuID = axlUIMenuFind(nil -1)
  9.                         axlUIMenuInsert(xMenuID SKILLToolsMenu)
  10.                 )
  11.         )
  12. )
  13. )
  14. axlTriggerSet('menu  'toolmenucreat)
复制代码
改成这样后菜单就没有了~谢谢~

点评

defun这个函数段最后少了个括号  详情 回复 发表于 2016-11-30 13:48

该用户从未签到

5#
发表于 2016-11-30 09:05 | 只看该作者
EDA365 SKILL考虑兼容15.X版本使用了axlUIMenuLoad, 这个函数会激活axlTriggerSet('menu  'toolmenucreat)

点评

那有没有办法让它不要再次加载呀? 我参考XYX365的方法加了个判断语句,但加了后菜单反而加载不了了  详情 回复 发表于 2016-11-30 09:52

该用户从未签到

6#
 楼主| 发表于 2016-11-30 09:52 | 只看该作者
deargds 发表于 2016-11-30 09:05
EDA365 SKILL考虑兼容15.X版本使用了axlUIMenuLoad, 这个函数会激活axlTriggerSet('menu  'toolmenucreat)

那有没有办法让它不要再次加载呀?
我参考XYX365的方法加了个判断语句,但加了后菜单反而加载不了了
  1. procedure(fnDynamicMenusTrig(tMenuFile)
  2.         let((xMenuID)
  3.                 when(tMenuFile == "allegro" ;只判斷第一次載入及執行,如果沒有此判斷的話,有其他程式也是使用動態選單時,就會再加載一次
  4.                         xMenuID = axlUIMenuFind(nil -1)
  5.                         axlUIMenuInsert(xMenuID lSkillMenu)
  6.                 )
  7.         )
  8. )
复制代码


点评

可以贴下你添加后的部分代码看下  详情 回复 发表于 2016-11-30 11:00

该用户从未签到

7#
发表于 2016-11-30 11:00 | 只看该作者
eeliujm 发表于 2016-11-30 09:52
那有没有办法让它不要再次加载呀?
我参考XYX365的方法加了个判断语句,但加了后菜单反而加载不了了

可以贴下你添加后的部分代码看下

点评

改成这样后菜单就没有了~谢谢~  详情 回复 发表于 2016-11-30 13:28

该用户从未签到

8#
发表于 2016-11-30 13:48 | 只看该作者
本帖最后由 deargds 于 2016-11-30 13:49 编辑
eeliujm 发表于 2016-11-30 13:28
改成这样后菜单就没有了~谢谢~
  1. procedure(toolmenucreat(tMenuFile)
  2. let((xMenuID)
  3.         SKILLToolsMenu = '(
  4.                 (popup "Skill")
  5.         )
  6.         when(tMenuFile == "allegro" ;只判斷第一次載入及執行,如果沒有此判斷的話,有其他程式也是使用動態選單時,就會再加載一次
  7.                 xMenuID = axlUIMenuFind(nil -1)
  8.                 axlUIMenuInsert(xMenuID SKILLToolsMenu)
  9.         )
  10. )
  11. )
  12. axlTriggerSet('menu  'toolmenucreat)
复制代码

点评

麻烦问一下:when(tMenuFile == "allegro" ;只判斷第一次載入及執行,如果沒有此判斷的話,有其他程式也是使用動態選單時,就會再加載一次[/backcolor] 如果我想在封装制作环境(pcb_symbol),也调用菜单,要怎么改  详情 回复 发表于 2019-4-20 13:11
还是不行  详情 回复 发表于 2016-11-30 14:15

该用户从未签到

9#
 楼主| 发表于 2016-11-30 14:15 | 只看该作者

该用户从未签到

11#
发表于 2017-8-23 11:58 | 只看该作者
我也遇到同样的问题,,不过我的两个菜单,,一个中文正常显示一个是乱码的,。请问你这问题现在解决了吗

点评

你好,请问乱码的问题解决了吗  详情 回复 发表于 2022-9-5 09:02
解决了,参考7楼的代码就OK了  详情 回复 发表于 2017-8-25 17:15

该用户从未签到

12#
 楼主| 发表于 2017-8-25 17:15 | 只看该作者
chengke07 发表于 2017-8-23 11:58
我也遇到同样的问题,,不过我的两个菜单,,一个中文正常显示一个是乱码的,。请问你这问题现在解决了吗

解决了,参考7楼的代码就OK了

该用户从未签到

13#
发表于 2019-4-20 13:11 | 只看该作者

麻烦问一下:when(tMenuFile == "allegro" ;只判斷第一次載入及執行,如果沒有此判斷的話,有其他程式也是使用動態選單時,就會再加載一次

如果我想在封装制作环境(pcb_symbol),也调用菜单,要怎么改?

点评

请问您解决这个问题了吗?怎么修改这个程序在封装模式也可以调用菜单?  详情 回复 发表于 2020-6-3 14:31

该用户从未签到

14#
发表于 2020-6-3 14:31 | 只看该作者
kuka_555 发表于 2019-4-20 13:11
麻烦问一下:when(tMenuFile == "allegro" ;只判斷第一次載入及執行,如果沒有此判斷的話,有其他程式也是 ...

请问您解决这个问题了吗?怎么修改这个程序在封装模式也可以调用菜单?

点评

when((tMenuFile == "allegro")||(tMenuFile == "pcb_symbol")  详情 回复 发表于 2020-7-18 00:30

该用户从未签到

15#
发表于 2020-7-18 00:30 | 只看该作者
maomao310 发表于 2020-6-3 14:31
请问您解决这个问题了吗?怎么修改这个程序在封装模式也可以调用菜单?

        when((tMenuFile == "allegro")||(tMenuFile == "pcb_symbol")

点评

如果要在多人协作模式加载,这里要怎么给  详情 回复 发表于 2023-2-13 11:24
好的谢谢,当时自己琢磨也解决出来了  详情 回复 发表于 2021-12-1 10:51
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-23 18:05 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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