EDA365电子论坛网

标题: 通过skill加载skill文件 [打印本页]

作者: 邓阿斌    时间: 2019-11-21 12:12
标题: 通过skill加载skill文件
请问各位大佬怎样才能不在ilinit文件里面写load函数,而通过一个单独的skill文件里面用load来加载其他skill啊
作者: 這侽孓譙悴丶    时间: 2019-11-21 12:59
可以的!
作者: 邓阿斌    时间: 2019-11-21 13:14
這侽孓譙悴丶 发表于 2019-11-21 12:59
可以的!

请问一下怎么操作呀,能不能发个源码的列子到我邮箱呢,谢谢您。1217193394@qq.com
作者: 這侽孓譙悴丶    时间: 2019-11-21 14:04
邓阿斌 发表于 2019-11-21 13:14
请问一下怎么操作呀,能不能发个源码的列子到我邮箱呢,谢谢您。1217193394@qq.com

这个还需要什么源码呢,你自己都已经想通了还需要源码?比如:你要加载一个skill文件A.il,那么你可以在B.il文件里面写入代码load("A.il"),然后在allegro.ilinit里面写入代码load("B.il"),这样A.il自然就可以通过B.il加载上了!

作者: 邓阿斌    时间: 2019-11-21 15:26
這侽孓譙悴丶 发表于 2019-11-21 14:04
这个还需要什么源码呢,你自己都已经想通了还需要源码?比如:你要加载一个skill文件A.il,那么你可以在B ...



axlCmdRegister("skill_load" 'skill_load)

procedure(skill_load()

load("xxx.il")

);end procedure
这样写的还是不能加载




作者: 這侽孓譙悴丶    时间: 2019-11-21 15:28
邓阿斌 发表于 2019-11-21 15:26
axlCmdRegister("skill_load" 'skill_load)

procedure(skill_load()

直接load("xxx.il")就可以了,其它代码都不需要,就一行load("xxx.il")
作者: leilei4908    时间: 2019-11-25 11:41
ils = nilpwds = list("suoyou" "de" "mima" "liebiao") ;所有的密码列表

foreach(path getSkillPath()
   path = simplifyFilename(path)
   when(isDir(path)
      ils = append(ils cddr(getDirFiles(path)))
   )
)
lils= rexMatchList(".*\\.il$" ils);筛选所有.il后缀的文件
foreach(il ils
   if(isFileEncrypted(il) then
      prog((ret)
         foreach(pwd pwds

            when(errset(loadi(il pwd)) return(t))
         )
      )
   else
      load(il)
   )
)






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