离碎 发表于 2024-8-21 21:19:55

那位看下什么问题,把ZYtemp.dll,改ZY.dll

检测到ZY.dll时,没有检测到ZYtemp.dll时直接加载ZY.dll
同时检测到时,删除ZY.dll,再把ZYtemp.dll重命名为Y.dll并加载
(setq FileName (findfile "ZY.dll"))
(setq tempFileName (findfile "ZYtemp.dll"))
(if (/= FileName nill)
    (progn
      (if (= tempFileName nill)
        (command "NetLoad" FileName)
        (progn
          (if (= (vl-file-delete FileName) nill)
          (command "NetLoad" FileName)
          (progn
              (vl-file-renametempFileName FileName)
              (command "NetLoad" FileName)
              )
          )
          )
        )
      )
    )


飞雪神光 发表于 2024-8-21 22:55:54

nil 或者 null 没有nill
(setq FileName (findfile "ZY.dll"))
(setq tempFileName (findfile "ZYtemp.dll"))
(if FileName
        (if tempFileName
                (progn
                        (vl-file-delete FileName)
                        (vl-file-rename tempFileName FileName)
                        (command "NetLoad" FileName)
                )
                (command "NetLoad" FileName)
        )
)

离碎 发表于 2024-8-22 12:57:31

飞雪神光 发表于 2024-8-21 22:55
nil 或者 null 没有nill
调试时发现在删除代码nil,为什么?
我用的以下代码

(setq FileName (findfile "ZY.dll"))
(setq tempFileName (findfile "ZYtemp.dll"))
(if (/= FileName nil)
   (if (/= tempFileName nil)
   (progn
       (vl-file-delete FileName)
       (vl-file-renametempFileName FileName)
       (command "NetLoad" FileName)
       )
   (command "NetLoad" FileName)
   )
)

飞雪神光 发表于 2024-8-22 13:00:41

离碎 发表于 2024-8-22 12:57
调试时发现在删除代码nil,为什么?
我用的以下代码



/= nil就是 tFileNametempFileName 这两个变量有了值就相当于t了
页: [1]
查看完整版本: 那位看下什么问题,把ZYtemp.dll,改ZY.dll