以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]非托管DLL发布时没有自动拷贝  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140529)

--  作者:ajie5211
--  发布时间:2019/9/7 16:00:00
--  [求助]非托管DLL发布时没有自动拷贝

提示:由于他们的开发包是传统的非托管DLL,所以只需复制到Foxtable安装目录即可使用,千万不要再去引用这些DLL文件。

用到这样的DLL文件时,程序发布时,用了添加附件把文件添加进去,发现程序发布后,这些DLL文件没有自动拷贝到程序文件夹下,而是到了project文件夹下,程序打开时会报错,文件找不到,在全局代码中用ProjectPath又报错,如何解决?总不能每次发布后手动复制过去吧。


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/9/7 16:06:00
--  
只能是发布后手工添加。
--  作者:ajie5211
--  发布时间:2019/9/7 17:13:00
--  

好吧。项目启动后用拷贝文件的方法整过去了。

If FileSys.DirectoryExists(ApplicationPath & "project") Then \'如果目录C:\\MyFolder存在
    If FileSys.FileExists(ApplicationPath & "TSCLIB.dll") = False Then  \'如果程序下没有SDK则复制过来
        If FileSys.FileExists(ProjectPath & "TSCLIB.dll") Then
            FileSys.CopyFile(ProjectPath & "TSCLIB.dll", ApplicationPath & "TSCLIB.dll",True)
        End If
    End If
     If FileSys.FileExists(ApplicationPath & "TSCLIB.lib") = False Then  \'如果程序下没有SDK则复制过来
        If FileSys.FileExists(ProjectPath & "TSCLIB.lib") Then
            FileSys.CopyFile(ProjectPath & "TSCLIB.lib", ApplicationPath & "TSCLIB.lib",True)
        End If
    End If
End If