紧急求助,如何调用门禁系统的DLL控制门禁硬件!

aokon 2011-01-20 10:13:14
现在门禁的厂商提供了一个DLL和函数说明,DLL名称为“门禁考勤.dll”,我需要用这个里边的一个函数,函数说明如下:
1、AddList (在门禁控制器上注册一条名单)
Function AddList(Devno, CardSn:Integer; strName, strNo, strPass, strLimitTime:ShortString; Door1App, Door2App:Word):Integer
功能说明:注册一条名单
参数说明: DevNo 当前设备号(0——254),255 为广播号
CardSN 注册卡的卡号
strName 持卡人姓名
strNo 持卡人工号
strPass 持卡人个人密码
strLimitTime 卡片有效期
Door1App 门1 的应用群组号
Door2App 门2 的应用群组号
返回值:调用成功,返回1,否则,返回0。strName 持卡人姓名字符串超过8 个字符(4 个汉字),之后的将被截除,strNo 持卡人工号字符串超过11 个字符,之后的将被截除,strPass 持卡人个人密码最多6 位数字(0——9),组成strLimitTime 卡片有效期字符串格式如下:
年(2)+月(2)+日(2),十进制表示
如:“070801”表示2007 年08 月01 日
Door1App 门1 的应用群组号有效取值范围(0——15)其余值均无效;可以用写入无效值,禁止卡片在此扇门的权限。
Door2App 门2 的应用群组号,同上

现在关键是我不知道这个DLL是什么写的,也不知道如何调用它这个函数,我自己在C#中这样调用,总是返回不成功0值,请高手帮忙看看哪出问题了。

[DllImport(@"D:\招投标中心项目\门禁考勤.dll")]
public static extern int AddList(int Devno, int CardSn,string strName,string strNo,string strPass,string strLimitTime,int Door1App,int Door2App);

private void Form1_Load(object sender, EventArgs e)
{
int a = AddList(0, 1000000000, "aaaa", "001", "123", "111201", 0, 0);
MessageBox.Show(a.ToString());
}
程序也能运行,但是总是返回0,调用不成功,函数不正确执行啊,是不是漏了什么呢?还是那个地方不对?
...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
网淘那些事 2011-01-21
  • 打赏
  • 举报
回复
自己顶,请大家做过的帮我看看什么地方出问题了
网淘那些事 2011-01-20
  • 打赏
  • 举报
回复
还有会不会是DllImport这儿出现问题了呢?
网淘那些事 2011-01-20
  • 打赏
  • 举报
回复
关键是对DELPHI不懂啊,那那个DLL的函数应该对应C#什么样的数据类型呢?
wuyq11 2011-01-20
  • 打赏
  • 举报
回复
Delphi dll
检查参数类型是否一致
http://topic.csdn.net/u/20100608/15/85e9a2a6-6102-46f5-afdf-d942d6292774.html

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧