以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 引用托管DLL文件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58874) |
-- 作者:arthurshoe -- 发布时间:2014/10/25 17:25:00 -- 引用托管DLL文件 有一个网络移动短息猫(不是串口的,帮助文档有串口说明),需要引用DLL文件, 帮助文件好像很少。。。以下图片是VB Demo的界面,能给个思路和说明吗?
[此贴子已经被作者于2014-10-25 17:26:20编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/10/26 9:57:00 -- 1、引用 http://www.foxtable.com/help/topics/1936.htm
2、把代码改成vb.net的代码写到foxtable |
-- 作者:arthurshoe -- 发布时间:2014/10/26 12:59:00 -- 选择附带VB版本的ImAPI.DLL居然出现 未知编译错误 选择附带.net版本的IamAPIDotNet.DLL,没有错误,但是另外一个libmySql.DLL出现 未知编译错误 短信猫是 嘉讯的jx01 MAS移动代理服务器 用mysql数据库的。。。 求帮助!
[此贴子已经被作者于2014-10-26 13:40:06编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/10/26 14:38:00 -- 1、打开.net版本的例子,编译;
2、把例子先debug的dll文件拷贝出来,在foxtable引用;
3、把.net的代码对应写到foxtable |
-- 作者:arthurshoe -- 发布时间: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) 哪里出问题了? |
-- 作者:有点甜 -- 发布时间:2014/10/26 16:05:00 -- 你不是有.net的例子么?那就不要用vb的例子了。
参考例子,debug的dll应用,然后拷贝代码进去foxtable即可。 |
-- 作者:arthurshoe -- 发布时间: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);
} |
-- 作者:有点甜 -- 发布时间:2014/10/26 16:46:00 -- 什么意思啊,你贴的代码是对dll文件的应用啊,和Declare定义一点关系都没有。 |
-- 作者:arthurshoe -- 发布时间:2014/10/26 17:02:00 -- 我是用visual studio 2010打开,没有看到declare在哪里? 求指点! 可以看见ImApiDotNet.DLL 里的方法确实存在啊。。。 加QQ51337003帮忙看一下 [此贴子已经被作者于2014-10-26 17:03:04编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/10/26 17:06:00 -- 如果没有declared,就是不需要定义啊,你打开项目的debug项目,除开项目.dll那个文件,其余的dll文件拷贝出来,在foxtable中引用。
然后直接就能用了啊。 |