找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2298|回复: 25
打印 上一主题 下一主题

求教各位大侠?skill如何兼容不同版本的软件

[复制链接]

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
跳转到指定楼层
1#
发表于 2012-11-27 10:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

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

x
本帖最后由 zhangjunxuan21 于 2012-11-27 10:44 编辑

我用fpm的方法将群里面各位大侠几个好用的skill导入到15.5中可以使用,可是软件转换成16.3的时候(电脑同时安装了16.3和15.5)这时候问题来了,16.3的菜单不正常了,查找了一下原因发现E:\work\pcbenv目录下的allegro.ilinit文件里面有这么一句 load( "D:\\user15.51\\pcbenv\\DstCxi.il"),当我把这一句删掉的时候,skill导入到16.3就不会出现菜单混乱不能用的现象,不知道有没有神马办法可以让skill兼容2个版本的软件,就像我们论坛里面的这个365 skill一样可以调用,这样子发现好的skill可以弥补论坛365 skill没有的功能。诚心求教啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏3 支持!支持! 反对!反对!
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

0

主题

86

帖子

275

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
275
26#
发表于 2012-12-12 09:18 | 只看该作者
謝謝

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
25#
 楼主| 发表于 2012-12-10 08:29 | 只看该作者
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
24#
 楼主| 发表于 2012-12-10 08:28 | 只看该作者
qianfengsjtu 发表于 2012-12-8 06:44

谢谢大侠的热心帮助 我找到一个解决办法了 用这个帖子里面的加载器可以兼容多个版本软件skill的加载 https://www.eda365.com/forum.php? ... l%BC%D3%D4%D8%C6%F7  不过被加密了看不到代码  大侠写的这个skill我试试啊
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
23#
 楼主| 发表于 2012-12-10 08:27 | 只看该作者
谢谢大侠的热心帮助 我找到一个解决办法了 用这个帖子里面的加载器可以兼容多个版本软件skill的加载 https://www.eda365.com/forum.php? ... l%BC%D3%D4%D8%C6%F7  不过被加密了看不到代码  大侠写的这个skill我试试啊
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

3

主题

97

帖子

412

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
412
22#
发表于 2012-12-8 06:49 | 只看该作者
这个是我想出来的办法,但没有在15.x里面试过,不知道15.x里axlmenudump和axlmenuload命令是否可以用。

3

主题

97

帖子

412

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
412
21#
发表于 2012-12-8 06:44 | 只看该作者
本帖最后由 qianfengsjtu 于 2012-12-8 06:46 编辑
  1. axlCmdRegister("menumain" 'menumain);register command

  2. procedure(menumain()
  3.         let(()
  4.                 menucheck()
  5.                 if(check_result==nil
  6.                         then
  7.                         menuload()
  8.                         else
  9.                         menudelete()
  10.                 )
  11.                 deleteFile(strcat(getWorkingDir(),"/old.men"))
  12.                 deleteFile(strcat(getWorkingDir(),"/new.men"))
  13.                 deleteFile(strcat(getWorkingDir(),"/check.men"))
  14.         )
  15. );menumain function

  16. procedure(menuload()
  17.         let((origin_menufile,inport,outport,nextline)
  18.                 origin_menufile=axlUIMenuDump(strcat(getWorkingDir(),"/old.men"))
  19.                 inport=infile(origin_menufile)
  20.                 outport=outfile(strcat(getWorkingDir(),"/new.men"))
  21.                 gets(nextline inport)
  22.                 while(nextline!="END\n"
  23.                         fprintf(outport,nextline)
  24.                         gets(nextline,inport)
  25.                         )
  26.                 fprintf(outport,"    POPUP \"%s\"\n","SKILL PDFs")
  27.                 fprintf(outport,"    BEGIN\n")
  28.                 fprintf(outport,"        MENUITEM \"%s\", \"%s\"\n","SKILL Language User Guide","skill pdf1")
  29.                 fprintf(outport,"        MENUITEM \"%s\", \"%s\"\n","SKILL Language Reference","skill pdf2")
  30.                 fprintf(outport,"        MENUITEM \"%s\", \"%s\"\n","Allegro eXtention Language","skill pdf3")
  31.                 fprintf(outport,"        MENUITEM \"%s\", \"%s\"\n","SKILL Development Help","skill pdf4")
  32.                 fprintf(outport,"    END\n")
  33.                 fprintf(outport,"END\n")
  34.                 close(outport)
  35.                 close(inport)
  36.                 axlUIMenuLoad(strcat(getWorkingDir(),"/new.men"))
  37.         )
  38. );menuload function

  39. procedure(menudelete()
  40.         let((origin_menufile,inport,outport,nextline)
  41.                 origin_menufile=axlUIMenuDump(strcat(getWorkingDir(),"/old.men"))
  42.                 inport=infile(origin_menufile)
  43.                 outport=outfile(strcat(getWorkingDir(),"/new.men"))
  44.                 gets(nextline inport)
  45.                 while(nextline!="    POPUP \"SKILL PDFs\"\n",
  46.                         fprintf(outport,nextline)
  47.                         gets(nextline,inport)
  48.                         )
  49.                 fprintf(outport,"END\n")
  50.                 close(outport)
  51.                 close(inport)
  52.                 axlUIMenuLoad(strcat(getWorkingDir(),"/new.men"))
  53.         )
  54. );menudelete function

  55. procedure(menucheck()
  56.         check_result=prog((check_menufile,inport,outport,nextline)
  57.                                         check_menufile=axlUIMenuDump(strcat(getWorkingDir(),"/check.men"))
  58.                                         inport=infile(check_menufile)
  59.                                         START
  60.                                         gets(nextline inport)
  61.                                         if(nextline=="    POPUP \"SKILL PDFs\"\n"
  62.                                                 then
  63.                                                 close(inport)
  64.                                                 return(t)
  65.                                                 else
  66.                                                         if(nextline==nil
  67.                                                         then
  68.                                                         go(END)
  69.                                                         else
  70.                                                         go(START)
  71.                                                         )
  72.                                         )
  73.                                         END
  74.                                         close(inport)
  75.                                 )
  76. );menucheck function, return t if added already or nil if not added yet.

  77. procedure(pdf1()
  78.         axlPdfView(strcat(cdsGetInstPath("doc"),"\\sklanguser\\sklanguser.pdf"))
  79. )
  80. procedure(pdf2()
  81.         axlPdfView(strcat(cdsGetInstPath("doc"),"\\sklangref\\sklangref.pdf"))
  82. )
  83. procedure(pdf3()
  84.         axlPdfView(strcat(cdsGetInstPath("doc"),"\\algroskill\\algroskill.pdf"))
  85. )
  86. procedure(pdf4()
  87.         axlPdfView(strcat(cdsGetInstPath("doc"),"\\skhelp\\skhelp.pdf"))
  88. )
复制代码

3

主题

97

帖子

412

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
412
20#
发表于 2012-12-6 13:51 | 只看该作者
额。。。我花了15金币才下了你的skill附件,让我先看看是什么问题再回复你啊

评分

参与人数 1贡献 +5 收起 理由
zhangjunxuan21 + 5 支持!钱不多了 不过还是要补给你的

查看全部评分

3

主题

97

帖子

412

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
412
19#
发表于 2012-12-6 13:47 | 只看该作者
zhangjunxuan21 发表于 2012-12-4 16:14
不知道大侠方便把这个加载菜单的skill分享一下吗 最近瞎折腾了好几天 愣是没搞出来又还原成最初的了 新手 ...

不好意思最近太忙了,没看到你的回复啊

评分

参与人数 1贡献 +5 收起 理由
zhangjunxuan21 + 5 这个skill是别人的 我只对其中的几个功能感.

查看全部评分

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
18#
 楼主| 发表于 2012-12-4 16:14 | 只看该作者
qianfengsjtu 发表于 2012-11-29 09:59
一直劝说大家不要直接改menu file然后load,这样会造成很多问题
不过貌似坛子里很多人都喜欢这么做
我自己 ...

不知道大侠方便把这个加载菜单的skill分享一下吗 最近瞎折腾了好几天 愣是没搞出来又还原成最初的了 新手还不会学skill,自学了点勉强看懂了一些些
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
17#
 楼主| 发表于 2012-11-30 15:41 | 只看该作者
qianfengsjtu 发表于 2012-11-30 05:14
axlUIMenuDump是一个skill AXL 函数
就是Allegro Extention Language,就是Allegro提供的库函数

{:soso_e143:} 糗大了
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

3

主题

97

帖子

412

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
412
16#
发表于 2012-11-30 05:14 | 只看该作者
axlUIMenuDump是一个skill AXL 函数
就是Allegro Extention Language,就是Allegro提供的库函数

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
15#
 楼主| 发表于 2012-11-29 23:42 | 只看该作者
qianfengsjtu 发表于 2012-11-29 09:59
一直劝说大家不要直接改menu file然后load,这样会造成很多问题
不过貌似坛子里很多人都喜欢这么做
我自己 ...

我也知道不要直接改menu,可以用fpm加载skill的时候他就会生成一个menu文件,这个menu文件在切换版本的时候以后重新加载的时候不会跟着改变,这个问题很多指导skill用fpm方法加载的文档都没提出来,每次都要还原环境变量以后重新加载才能切换过去,这样子很不方便,调用个skill文件都要整半天很不方便,期待大侠们分享一个加载skill的工具,兼容不同版本,还能在软件菜单上直接调用,而不是每次都要输入调用命令。能分享一下你说的软件吗
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
14#
 楼主| 发表于 2012-11-29 23:32 | 只看该作者
wolf343105 发表于 2012-11-29 14:04
你否把你的SKILL发给我吗?下载扣分太严重了. thanks.

好 明天发给你 最近忙着画板子都没上论坛了
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
13#
 楼主| 发表于 2012-11-29 23:30 | 只看该作者
wolf343105 发表于 2012-11-29 14:04
你否把你的SKILL发给我吗?下载扣分太严重了. thanks.

嗯好 我明天上班的时候发给你 最近赶着一块板子没空儿研究这个也没上论坛了
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-24 19:42 , Processed in 0.067593 second(s), 36 queries , Gzip On.

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

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

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