Foxtable(狐表)用户栏目专家坐堂 → 关于引用dll的问题


  共有4555人关注过本帖树形打印复制链接

主题:关于引用dll的问题

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 20:44:00 [显示全部帖子]

你在foxtable里面选择引用后,在命令窗口执行 msgbox(1),如果报错,就是非托管dll。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 22:19:00 [显示全部帖子]

以下是引用ycwk在2017/12/27 21:36:00的发言:
也就是说,同为第三方dll ,如果是托管的,就用foxtable引用, 如果是非托管的,就不引用,是这个意思吗?

 

是的。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 22:20:00 [显示全部帖子]

以下是引用ycwk在2017/12/27 21:44:00的发言:

下面这句话是什么意思呢? kernel32.dll 不能在foxtable 引用吗?

 

非托管的dll,都只能通过声明的方式调用其方法。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 22:58:00 [显示全部帖子]

以下是引用ycwk在2017/12/27 22:28:00的发言:
我是指的dllimport 这行,是什么意思?    不是一般都是在全局代码中写 public function 函数 …………  就行了吗?  dllimport什么情况下会用到?

 

两种语法都可以的,同样的效果。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/28 9:15:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/28 9:42:00 [显示全部帖子]

可以,先测试,如果出问题再提问题。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/28 9:46:00 [显示全部帖子]

dll文件拷贝到foxtable安装文件夹那里去。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/28 10:02:00 [显示全部帖子]

相关的dll全部拷贝到foxtable安装文件夹下即可。

 

无法写写相对路径的,声明只能写字符常量。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/28 10:17:00 [显示全部帖子]

可以写子目录的啊。拷贝到foxtable安装目录下之后,这样写,如

 

<DllImport("test/user32.dll", EntryPoint := "SetCursorPos")> _
Public Function SetCursorPos(x As Integer, y As Integer) As Boolean

End Function


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/28 12:09:00 [显示全部帖子]

Public Declare Function INIT Lib "SiInterface.dll" Alias "INIT"(pErrMsg) As Integer

 

改成

 

Public Declare Function INIT Lib "SiInterface.dll" Alias "INIT"(byref pErrMsg as string) As Integer

 

或者试试

 

Public Declare Function INIT Lib "SiInterface.dll" Alias "INIT"(byref pErrMsg as stringbuilder) As Integer

 

------------------ http://www.foxtable.com/webhelp/scr/2097.htm

 

调用的时候,试试

 

Dim S3 As new stringbuilder
Dim S2 As Integer = Init(S3)
msgbox(S2)

 


 回到顶部
总数 21 1 2 3 下一页