Foxtable(狐表)用户栏目专家坐堂 → 引用托管DLL文件


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

主题:引用托管DLL文件

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
引用托管DLL文件  发帖心情 Post By:2014/10/25 17:25:00 [只看该作者]

有一个网络移动短息猫(不是串口的,帮助文档有串口说明),需要引用DLL文件,
帮助文件好像很少。。。以下图片是VB Demo的界面,能给个思路和说明吗?
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-10-25 17:26:20编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 9:57:00 [只看该作者]

1、引用 http://www.foxtable.com/help/topics/1936.htm

 

2、把代码改成vb.net的代码写到foxtable


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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/26 12:59:00 [只看该作者]

选择附带VB版本的ImAPI.DLL居然出现 未知编译错误
选择附带.net版本的IamAPIDotNet.DLL,没有错误,但是另外一个libmySql.DLL出现 未知编译错误
短信猫是 嘉讯的jx01 MAS移动代理服务器 用mysql数据库的。。。
求帮助!
[此贴子已经被作者于2014-10-26 13:40:06编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 14:38:00 [只看该作者]

1、打开.net版本的例子,编译;

 

2、把例子先debug的dll文件拷贝出来,在foxtable引用;

 

3、把.net的代码对应写到foxtable


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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/26 16:02:00 [只看该作者]

出现错误

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.10.23.1
错误所在事件:窗口,待办事件窗口,Button1,Click
详细错误信息:
无法在 DLL“ImApiDotNet.dll”中找到名为“init”的入口点。

全局代码
Public Declare Function init Lib "ImApi.dll" (ByVal ip As String, ByVal userName As String, ByVal password As String, ByVal apiCode As String) As Long

API帮助文档
public int init (String imIP , String loginName, String loginPWD, String apiCode)

哪里出问题了?




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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 16:05:00 [只看该作者]

 你不是有.net的例子么?那就不要用vb的例子了。

 

 参考例子,debug的dll应用,然后拷贝代码进去foxtable即可。


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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/26 16:41:00 [只看该作者]

是不是引用函数没有定义好? 看了.net的例子也是一样的啊

using System;

namespace ImApiDotNet
{
    public class APIClient
    {
        public const int IMAPI_API_ERR = -7;
        public const int IMAPI_CONN_CLOSE_ERR = -2;
        public const int IMAPI_CONN_ERR = -1;
        public const int IMAPI_DATA_ERR = -6;
        public const int IMAPI_DATA_TOOLONG = -8;
        public const int IMAPI_DEL_ERR = -4;
        public const int IMAPI_GATEWAY_CONN_ERR = -11;
        public const int IMAPI_IFSTATUS_INVALID = -10;
        public const int IMAPI_INIT_ERR = -9;
        public const int IMAPI_INS_ERR = -3;
        public const int IMAPI_QUERY_ERR = -5;
        public const int IMAPI_SUCC = 0;
        public const int SM_TYPE_NORMAL = 0;
        public const int SM_TYPE_PDU = 2;

        public APIClient();

        public int init(string dbIP, string dbUser, string dbPwd, string apiCode);
        public int init(string dbIP, string dbUser, string dbPwd, string apiCode, string dbName);
        public RPTItem[] receiveRPT();
        public RPTItem[] receiveRPT(int amount);
        public RPTItem[] receiveRPT(long smID, int amount);
        public MOItem[] receiveSM();
        public MOItem[] receiveSM(int amount);
        public MOItem[] receiveSM(long srcID, int amount);
        public void release();
        public int sendPDU(string[] mobiles, byte[] content, long smID, int msgFmt, int tpPID, int tpUdhi, string feeTerminalID, string feeType, string feeCode, int feeUserType);
        public int sendPDU(string[] mobiles, byte[] content, long smID, long srcID, int msgFmt, int tpPID, int tpUdhi, string feeTerminalID, string feeType, string feeCode, int feeUserType);
        public int sendSM(string mobile, string content, long smID);
        public int sendSM(string[] mobiles, string content, long smID);
        public int sendSM(string mobile, string content, long smID, string url);
        public int sendSM(string[] mobiles, string content, long smID, long srcID);
        public int sendSM(string[] mobiles, string content, long smID, string url);
        public int sendSM(string[] mobiles, string content, long smID, long srcID, string url);
        public int sendSM(string[] mobiles, string content, string sendTime, long smID, long srcID);
        public int sendSM(string[] mobiles, string content, long smID, long srcID, string url, string sendTime);
    }
}


private void btnInit_Click(object sender, System.EventArgs e)
{

apiclient=new APIClient();

int con=apiclient.init(this.textIp.Text.Trim(),this.textUsername.Text.Trim(),this.textPassword.Text.Trim(),this.textCode.Text.Trim(),this.txtDB.Text.Trim());
con=System.Math.Abs(con);

MessageBox.Show (initvalues[con], "", 
MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

}


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 16:46:00 [只看该作者]

 什么意思啊,你贴的代码是对dll文件的应用啊,和Declare定义一点关系都没有。

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/26 17:02:00 [只看该作者]

我是用visual studio 2010打开,没有看到declare在哪里? 求指点!
可以看见ImApiDotNet.DLL 里的方法确实存在啊。。。
加QQ51337003帮忙看一下

[此贴子已经被作者于2014-10-26 17:03:04编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 17:06:00 [只看该作者]

 如果没有declared,就是不需要定义啊,你打开项目的debug项目,除开项目.dll那个文件,其余的dll文件拷贝出来,在foxtable中引用。

 

 然后直接就能用了啊。


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