![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-26 13:07 |
共 47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行 |
| DOS汉化世界 & 中文系统 (中文化室) » 请yaya解答,逐级执行式菜单编辑器ConMenu.sys的问题(BUG) |
| 可打印版本 5,781 / 19 |
| 第1楼 xsaxy | 发表于 2009-11-12 01:17 |
| 初级用户 发帖 15 积分 32 | |
|
请yaya解答,逐级执行式菜单编辑器ConMenu.sys的问题(BUG) 使用版本为:ConMenu.sys V2.12
经反复测试,ConMenu.sys在config.sys菜单过多时,会报: without "cmn=[end]","cmn=[" , "cmn=]" or "cmn=)" "cmn=[" or "cmn=(" >16错误。 但实际情况是编辑没有错。如下面的测试配置文件,现在运行是正确的,但已无法向里面添加项目、菜单... 请大家测试。 config.sys ------------------------------------------------ device=himem.sys device=acios.exe device=ConfigS.Mnu /s ; cm0=[a. 测试菜单0 a... ; color=03,f ; default=a,60 ; initial=14 ; caption= ; caption= ; caption= DOS工具盘中文菜单 ; caption= =================================================== ; endnote= 按↑↓或相应字母选择菜单项;'-/+'为复选菜单,按回车选择/清除 ; endnote= 在单选菜单按回车确定;按E^sc返回0级菜单 ; endnote= ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[j. ; cm1=]1j ; cm1=[k. ; cm1=]1k ; cm1=[l. ; cm1=]1l ; cm1=[m. ; cm1=]1m ; cm1=[end] ; cm0=]a ; cm0=[b. 测试菜单0 b... ; cm1=[a. 测试菜单1 a ; cm1=]1a ; cm1=[b. 测试菜单1 b... ; cm2=[a. 测试菜单1 a ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[c. ; cm2=]2c ; cm2=[d. ; cm2=]2d ; cm2=[e. ; cm2=]2e ; cm2=[f. ; cm2=]2f ; cm2=[g. ; cm2=]2g ; cm2=[h. ; cm2=]2h ; cm2=[end] ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]b ; cm0=[c. 测试菜单0 c... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]c ; cm0=[d. 测试菜单0 d... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[end] ; cm0=]d ; cm0=[e. 测试菜单0 e... ; cm1=[a.测试菜单1 a... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[end] ; cm0=]e ; cm0=[f. 测试菜单0 f... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]f ; cm0=[g. 测试菜单0 g... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[end] ; cm0=]g ; cm0=[h. 测试菜单0 h... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[end] ; cm0=]h ; cm0=[i. 测试菜单0 i... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]i ; cm0=[j. 测试菜单0 j... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]j ; cm0=[k. 测试菜单0 k... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[end] ; cm0=]k ; cm0=[l. 测试菜单0 l... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[end] ; cm0=]l ; cm0=[m. 测试菜单0 m... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[end] ; cm0=]m ; cm0=[n. 测试菜单0 n... ; cm1=[a. 测试菜单1 a... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1a ; cm1=[b. 测试菜单1 b... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1b ; cm1=[c. 测试菜单1 c... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1c ; cm1=[d. 测试菜单1 d... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[c. ; cm2=]2c ; cm2=[d. ; cm2=]2d ; cm2=[e. ; cm2=]2e ; cm2=[f. ; cm2=] ; cm2=[end] ; cm1=]1d ; cm1=[e. 测试菜单1 e... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1e ; cm1=[f. 测试菜单1 f ; cm1=]1f ; cm1=[end] ; cm0=]n ; cm0=[o. 测试菜单0 o... ; cm0=]0o ; cm0=[p. 测试菜单0 p... ; cm0=]0p rem -------------------- rem 隐含菜单(块配置) rem -------------------- ; cm1=(1 ; cm1=)EMM ; cm1=(2 ; cm1=)NOEMM ; cm1=(3 ; cm1=)HIMEM1 ; cm1=(4 ; cm1=)HIMEM2 ; cm1=(5 ; cm1=) ; cm1=(6 ; cm1=) ; cm1=(7 ; cm1=) ; cm1=(8 ; cm1=) ; cm1=(9 ; cm1=) ; cm1=[end] ; cm0=[end] device=ConfigS.Mnu /u |
|
| 第2楼 yaya | 发表于 2009-11-12 09:52 |
| 银牌会员 发帖 353 积分 1,009 | |
|
从http://e.ys168.com/?yaya20077777下载ConfigS.rar
|
|
| 第3楼 xsaxy | 发表于 2009-11-12 11:58 |
| 初级用户 发帖 15 积分 32 | |
Originally posted by yaya at 2009-11-12 09:52 AM: 我就是从这儿下载的,还是不行。 |
|
| 第4楼 yaya | 发表于 2009-11-12 15:42 |
| 银牌会员 发帖 353 积分 1,009 | |
|
可显示菜单最大16项,a-p;隐含菜单最大9项.这限制在说明文件中有描述,不是BUG.
[ Last edited by yaya on 2009-11-13 at 09:22 ] |
|
| 第5楼 xsaxy | 发表于 2009-11-12 16:05 |
| 初级用户 发帖 15 积分 32 | |
Originally posted by yaya at 2009-11-12 03:42 PM: 首先,谢谢你的回复,但我的设置并没有超过限制。如上列配置中 ; cm0= 1a ; cm1= 1b ; cm1= 1c ; cm1= 1d ; cm1= 1e ; cm1= 1f ------------------------------------------------------------------------------------------------ ; cm1= 1g 请用我的测试菜单你加其余菜单试一下就知道了。 ........ ------------------------------------------------------------------------------------------------- ; cm1= ; cm0=]c |
|
| 第6楼 xsaxy | 发表于 2009-11-12 16:29 |
| 初级用户 发帖 15 积分 32 | |
|
我查看了
http://www.cn-dos.net/forum/viewthread.php?tid=18763&fpage=2&highlight=&page=3 『第 36 楼』 选项的排列的逻辑方式1 方式1: ├─A ├─B │ ├─A │ │ ├─A │ │ └─B │ ├─B │ ├─C │ └─D │ ├─1 │ ├─2 ├─C └─D └─1 └─2 我回答的是『第 37 楼』 方式1 我是这样理解的,也就是说cm0,a-p;cm1,a-p;cm2,a-p;.... 隐含菜单每一级最大9项,1-9。第二级又是最大9项,1-9... 如果是这样,我上面就没有错。 否则就是方式2 方式2: ├─A ├─B │ ├─C │ │ ├─D │ │ └─E │ ├─F │ ├─G │ └─1 │ └─2 ├─I └─J └─3 └─4 不知我理解的对否。 |
|
| 第7楼 xsaxy | 发表于 2009-11-12 16:38 |
| 初级用户 发帖 15 积分 32 | |
|
从我上面的测试配置可以看出,逻辑关系应该是1。但实际测试到一定级数时确不行。
[ Last edited by xsaxy on 2009-11-12 at 16:39 ] |
|
| 第8楼 yaya | 发表于 2009-11-13 09:44 |
| 银牌会员 发帖 353 积分 1,009 | |
|
是方式1。
你在1楼说‘现在运行是正确的,但已无法向里面添加项目、菜单’。此时0级可显示菜单最大用到p,不能再增加0级菜单了,隐含菜单最大用到9,也不能再增加了这一级隐含菜单了。 隐含菜单应使用cm0=(,而不是cm1=(,应为它是在0级可显示菜单中。 [ Last edited by yaya on 2009-11-13 at 09:45 ] |
|
| 第9楼 xsaxy | 发表于 2009-11-13 12:19 |
| 初级用户 发帖 15 积分 32 | |
Originally posted by yaya at 2009-11-13 09:44 AM: 经测试: 我将隐含菜单删除,往里面增加子菜单,多增加几项也就开始报错了。 |
|
| 第10楼 xsaxy | 发表于 2009-11-13 12:21 |
| 初级用户 发帖 15 积分 32 | |
|
我反复测试,我的操作没有超限,但就是不行。
|
|
| 第11楼 xsaxy | 发表于 2009-11-13 15:32 |
| 初级用户 发帖 15 积分 32 | |
Originally posted by yaya at 2009-11-13 09:44 AM: 可我一楼的配置是可以正常运行的。 原菜单形式: ; cm0= 0a ...... ...... ; cm0=]p ; cm0=]0p ...... ...... ; cm1=(1 ; cm1=)隐含1 ....... ....... ; cm1=(9 ; cm1=)隐含9 ; cm1= 这里一级隐含菜单结束 ; cm0= 这里零级菜单结束 按的你说法结构如下: ; cm0= 0a ...... ...... ; cm0= 0o ; cm1=(1 ; cm1=)隐含1 ....... ....... ; cm1=(9 ; cm1=)隐含9 ; cm1= 这里一级隐含菜单结束 ; cm0=]p (那么如果我没有0级p菜单,又有1级隐含菜单,是不是就要放 ; cm0=]0p 到最末0级菜单之上的任意处,如cm0= 或cm1=没有起到限制级数的作用。) ; cm0= 这里零级菜单结束 隐含菜单的结束也用cm1=这种形式感觉怪怪的,如果是cm1=(end)就好了。 |
|
| 第12楼 yaya | 发表于 2009-11-14 14:38 |
| 银牌会员 发帖 353 积分 1,009 | |
|
隐含菜单是可显示菜单中的组成部分,在1楼中
; cm0= 0p ; cm1=(1 ; cm1=)EMM ; cm1=(2 ; cm1=)NOEMM ; cm1=(3 ; cm1=)HIMEM1 ; cm1=(4 ; cm1=)HIMEM2 ; cm1=(5 ; cm1=) ; cm1=(6 ; cm1=) ; cm1=(7 ; cm1=) ; cm1=(8 ; cm1=) ; cm1=(9 ; cm1=) ; cm1= ; cm0= 隐含菜单如果用于0级可显示菜单,则应为cm0=(。 如果是用于某1级菜单,则应位于该1级菜单的上级菜单结束符cm0=]之间。 你的1级隐含菜单不属于任何0级菜单。 ”隐含菜单的结束也用cm1=这种形式感觉怪怪的,如果是cm1=(end)就好了。“ 应为大多数1级菜单都有可显示菜单,所以只使用cm1=结束,而你没有可显示菜单,却有隐含菜单,所以只能使用cm1=结束。那么如果你从0级菜单选择了这1级菜单,屏幕显示什么? [ Last edited by yaya on 2009-11-14 at 14:57 ] |
|
| 第13楼 xsaxy | 发表于 2009-11-14 15:55 |
| 初级用户 发帖 15 积分 32 | |
|
yaya,谢谢你的答复!
你的解释我已基本明白,回头我测试一下,这个我想我可以解决和弄明白。我用隐含菜单的意思是要在子菜单中相互调用隐含菜单中的配置。也就是想让隐含菜单起到块的作用。 现在主要的问题是,不要隐含菜单都无法继续增加子菜单。将隐含菜单删除,往里面增加子菜单,多增加几项(一楼的菜单每一项子菜单增加不会超过5-7项)也就开始报错了,报错的内容同一楼一样超限。所以就无法继续下去了。 再次谢谢你。 |
|
| 第14楼 xsaxy | 发表于 2009-11-14 17:06 |
| 初级用户 发帖 15 积分 32 | |
|
在贴一个报错的配置,注意cm=[d. 测试菜单0 d... 下的 cm1=[j. 子菜单增加报错,删除正常,这就是我说的问题。
---------------------------------------------------------- device=himem.sys device=acios.exe device=ConfigS.Mnu /s ; cm0=[a. 测试菜单0 a... ; color=03,f ; default=a,60 ; initial=14 ; caption= ; caption= ; caption= DOS工具盘中文菜单 ; caption= =================================================== ; endnote= 按↑↓或相应字母选择菜单项;'-/+'为复选菜单,按回车选择/清除 ; endnote= 在单选菜单按回车确定;按E^sc返回0级菜单 ; endnote= ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[j. ; cm1=]1j ; cm1=[k. ; cm1=]1k ; cm1=[l. ; cm1=]1l ; cm1=[m. ; cm1=]1m ; cm1=[end] ; cm0=]a ; cm0=[b. 测试菜单0 b... ; cm1=[a. 测试菜单1 a ; cm1=]1a ; cm1=[b. 测试菜单1 b... ; cm2=[a. 测试菜单1 a ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[c. ; cm2=]2c ; cm2=[d. ; cm2=]2d ; cm2=[e. ; cm2=]2e ; cm2=[f. ; cm2=]2f ; cm2=[g. ; cm2=]2g ; cm2=[h. ; cm2=]2h ; cm2=[end] ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]b ; cm0=[c. 测试菜单0 c... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[j. ; cm1=]1j ; cm1=[k. ; cm1=]1k ; cm1=[l. ; cm1=]1l ; cm1=[m. ; cm1=]1m ; cm1=[n. ; cm1=]1n ; cm1=[o. ; cm1=]1o ; cm1=[p. ; cm1=]1p ; cm1=[end] ; cm0=]c ; cm0=[d. 测试菜单0 d... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[j. ; cm1=]1j ; cm1=[end] ; cm0=]d ; cm0=[e. 测试菜单0 e... ; cm1=[a.测试菜单1 a... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[end] ; cm0=]e ; cm0=[f. 测试菜单0 f... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]f ; cm0=[g. 测试菜单0 g... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[end] ; cm0=]g ; cm0=[h. 测试菜单0 h... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[end] ; cm0=]h ; cm0=[i. 测试菜单0 i... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]i ; cm0=[j. 测试菜单0 j... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]j ; cm0=[k. 测试菜单0 k... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[end] ; cm0=]k ; cm0=[l. 测试菜单0 l... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[end] ; cm0=]l ; cm0=[m. 测试菜单0 m... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[end] ; cm0=]m ; cm0=[n. 测试菜单0 n... ; cm1=[a. 测试菜单1 a... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1a ; cm1=[b. 测试菜单1 b... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1b ; cm1=[c. 测试菜单1 c... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1c ; cm1=[d. 测试菜单1 d... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[c. ; cm2=]2c ; cm2=[d. ; cm2=]2d ; cm2=[e. ; cm2=]2e ; cm2=[f. ; cm2=] ; cm2=[end] ; cm1=]1d ; cm1=[e. 测试菜单1 e... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1e ; cm1=[f. 测试菜单1 f ; cm1=]1f ; cm1=[end] ; cm0=]n ; cm0=[o. 测试菜单0 o... ; cm0=]0o ; cm0=[p. 测试菜单0 p... ; cm0=]0p ; cm0=[end] device=ConfigS.Mnu /u |
|
| 第15楼 yaya | 发表于 2009-11-15 09:25 |
| 银牌会员 发帖 353 积分 1,009 | |
|
可能是你的文件比较大。原程序只搜索0x1000字节。请你使用winhex或其他16位编辑器,打开ConfigS.Mnu,将0x1202处的'10'修改为'20',然后试一试。
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |