EDA365电子论坛网

标题: 自定义菜单重复加载 [打印本页]

作者: eeliujm    时间: 2016-11-21 15:31
标题: 自定义菜单重复加载

我是新建了一个 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

作者: eeliujm    时间: 2016-11-23 14:30
求指教~~
作者: deargds    时间: 2016-11-30 09:05
EDA365 SKILL考虑兼容15.X版本使用了axlUIMenuLoad, 这个函数会激活axlTriggerSet('menu  'toolmenucreat)
作者: eeliujm    时间: 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. )
复制代码



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

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

作者: eeliujm    时间: 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)
复制代码
改成这样后菜单就没有了~谢谢~


作者: deargds    时间: 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)
复制代码


作者: eeliujm    时间: 2016-11-30 14:15
deargds 发表于 2016-11-30 13:48

还是不行

作者: deargds    时间: 2016-11-30 15:07
16.6测试通过,可以粘贴到allegro.ilinit中测试下
作者: wcjcn    时间: 2017-6-9 23:16
学习学习。。。。。。。
作者: chengke07    时间: 2017-8-23 11:58
我也遇到同样的问题,,不过我的两个菜单,,一个中文正常显示一个是乱码的,。请问你这问题现在解决了吗
作者: eeliujm    时间: 2017-8-25 17:15
chengke07 发表于 2017-8-23 11:58
我也遇到同样的问题,,不过我的两个菜单,,一个中文正常显示一个是乱码的,。请问你这问题现在解决了吗

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

作者: kuka_555    时间: 2019-4-20 13:11
deargds 发表于 2016-11-30 13:48

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

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

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

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

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

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

作者: 无需执着    时间: 2021-2-23 15:20
我近期也遇到了这样的问题
作者: wzh6328    时间: 2021-6-17 11:39
参考7楼的写法,菜单不显示了,请问最后修改了哪里?
作者: maomao310    时间: 2021-12-1 10:51
回忆着回忆 发表于 2020-7-18 00:30
when((tMenuFile == "allegro")||(tMenuFile == "pcb_symbol")

好的谢谢,当时自己琢磨也解决出来了

作者: cc毛毛虫    时间: 2022-9-5 09:02
chengke07 发表于 2017-8-23 11:58
我也遇到同样的问题,,不过我的两个菜单,,一个中文正常显示一个是乱码的,。请问你这问题现在解决了吗

你好,请问乱码的问题解决了吗

作者: Lora    时间: 2023-2-13 11:24
回忆着回忆 发表于 2020-7-18 00:30
when((tMenuFile == "allegro")||(tMenuFile == "pcb_symbol")

如果要在多人协作模式加载,这里要怎么给

作者: Lora    时间: 2023-2-13 18:27
Lora 发表于 2023-2-13 11:24
如果要在多人协作模式加载,这里要怎么给

已经知道了

作者: bingo-he    时间: 2023-10-12 10:53
终于在这里解决了




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2