在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 145|回复: 4

[求助] 自定义菜单异常

[复制链接]
发表于 昨天 14:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 想象 于 2025-1-7 14:40 编辑

求助大家:
1.为什么每次打开一个版图窗口就会报错pdmenu1的值没绑定呢?自定义的菜单里集成的功能是可以正常使用的。
注:在.cdsinit里load了LoadFile.il(里面load了一些脚本文件)

微信图片_20250107142100.png


2.有时候打开一个新的版图窗口左边的layers会变成下图的样子,不显示层次,而且版图操作会变得明显卡顿,注释掉.cdsinit里LoadFile.il重启软件就恢复正常了。
注:有时出现有时不出现,规律尚未找到……


微信图片_20250107142141.png


3.MyMenu(aaa)中的aaa在代码中只出现了一次,它起到什么作用呢?拿掉它会报错。


发表于 昨天 16:54 | 显示全部楼层
第一个问题:'pdmenu1需要是一个全局变量(目的是其唯一变量的属性),而你在let里又把其定义为了局部变量,所以打开版图时脚本触发执行,先生成pdmenu1的PulldownMune,procedure执行完后又被let给释放掉了,所以就报pdmenu1没绑定;至于’pdmenu2这些因为都是挂靠在pdmenu1下的,都可以通过‘pdmune1这个全局变量访问到,所以定义为局部变量没有问题,在其他的mune中都可以重复定义同名局部变量,只有‘pdmenu1不可以。
第二个问题:给的内容太少,无法判断。
第三个问题:在deRegUserTriggers中调用函数用的是'MyMenu这种Symbol的形式,deRegUserTriggers这个函数会让系统给MyMune这个函数传某些参数,这些参数的结构现在我也不知道属于什么类型(目前能确定的是不属于symbol、list、defstruct或者user type中的任一种),所以需要你写的接收函数要带参,这就是aaa的作用。
Tips:aaa里包含了很多内容,你可以用print(aaa)这种方式查看下都有啥,win=hiGetCurrentWindow()可以不用写,直接用aaa->window获取即可。
 楼主| 发表于 9 小时前 | 显示全部楼层


着着着火了 发表于 2025-1-7 16:54
第一个问题:'pdmenu1需要是一个全局变量(目的是其唯一变量的属性),而你在let里又把其定义为了局部变量 ...


感谢佬,按照您的方法把let中的菜单变量拿掉变成全局变量就不报图1那个错误了。之后也没有再遇到图2中的情况,或许这之间有某种关联…

最后一条我试了一下直接获取aaa~>window,好像不行,会报代码存在error,如下图:

微信图片_20250108101725.png
发表于 9 小时前 | 显示全部楼层
本帖最后由 着着着火了 于 2025-1-8 10:50 编辑


想象 发表于 2025-1-8 10:23
感谢佬,按照您的方法把let中的菜单变量拿掉变成全局变量就不报图1那个错误了。之后也没有再遇到图2中的 ...


用->,不是~>。大部分时候->和~>得到的结果都一样,但在这里因为aaa不属于常见的结构,所以无法用~>获取
 楼主| 发表于 6 小时前 | 显示全部楼层


着着着火了 发表于 2025-1-8 10:46
用->,不是~>。大部分时候->和~>得到的结果都一样,但在这里因为aaa不属于常见的结构,所以无法用~>获取
...


改了之后可以了,感谢佬的解答~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-8 19:49 , Processed in 0.017882 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表