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


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

主题:引用托管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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
arthurshoe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
arthurshoe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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)

哪里出问题了?




 回到顶部
帅哥哟,离线,有人找我吗?
arthurshoe
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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);

}


 回到顶部
帅哥哟,离线,有人找我吗?
arthurshoe
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/26 17:09:00 [显示全部帖子]

是拷贝过来了。。但是就是出现那个找不到入口点的问题啊。。。。。

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/26 17:19:00 [显示全部帖子]

直接出现没有声明方法 init。。。。应该要声明什么吧。。不然DLL里面的方法和foxtable重名不是冲突了。》?

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/26 17:28:00 [显示全部帖子]

ImApiDotNet.ApiClient.init()。。。出现init非公有成员不能饮用。。
在.net里面有这么句声明 private ImApiDotNet.APIClient apiclient;  APIClient是一个class...在foxtable要怎么用?

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/26 17:34:00 [显示全部帖子]

Dim aa As ImApiDotNet.APIClient = new ImApiDotNet.APIClient()
r = aa.init(ip, username, password, apiCode,db)
出现
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.10.23.1
错误所在事件:窗口,待办事件窗口,Button1,Click
详细错误信息:
试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)


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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/26 17:35:00 [显示全部帖子]

弄好了。。少放了被调用的libmysql.dll。。。真的谢谢甜总!

 回到顶部
总数 13 1 2 下一页