c#调用delphi开发的dll 函数问题,请熟悉的朋友帮忙!

gowithout 2006-01-06 03:36:16
delphi里面的函数:
extern "C" __declspec(dllexport) BOOL __stdcall xfReadCard(int port,char * kh,char * fg,char * je);

如何定义C#的倒入函数?
我尝试如下,但是不行:
[DllImport("xfic.dll",EntryPoint="_xfReadCard@16",CallingConvention=CallingConvention.StdCall,CharSet=CharSet.Ansi) ]
public static extern bool _xfreadCard(int pPort, byte[] pICNO, byte[] pString, byte[] pMoney);

谢了!
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gowithout 2006-01-06
  • 打赏
  • 举报
回复
楼上的,不是这个原因
520zyb 2006-01-06
  • 打赏
  • 举报
回复
"_xfReadCard@16"的函数在你的DLL中不存在吧
EntryPoint指定的函数名应与DLL中的一致才行
echoxue 2006-01-06
  • 打赏
  • 举报
回复
help to up
lidong6 2006-01-06
  • 打赏
  • 举报
回复
char*对应的类型应该是lpstr
RFID 标签 读写操作 DLL SDK 开发指南 V3.5 SDK开发指南 本SDK 包是公司为方便用户开发应用程序而开发的软件开发包。 SDK 以动态链接库文件 形式提供给用户使用。 用户使用本公司系列读写器进行用户应用软件开发时,根据本公司提供的SDK 开发包, 用户可以高效、正确地完成DRF 系列读写器应用软件的开发。 SDK 支持VC、 VB、 C#、 VB.NET、 C++ Builder 和Delphi开发。 使用函数注意事项: 1.对标签操作时(包括读标签,写标签),最好在主从模式下使用, 因为读写器 UART 通讯是半双工的,定 时模式下,此时读卡器定时读标签并上传数据,这时容易跟上位机发送的命令冲突而造成读取成功率下降, 如果要在定时模式下使用的话,最好先发送停读标签命令,再来操作。此时如若要恢复到定时模式,要发 送复位读头命令以再次进入到定时模式。 2.如果要读单标签, 使用我们的 DEMO 软件,到参数设置那里把读写器首先要设置到单标签模式。 3.如果要读多标签, 使用我们的 DEMO 软件,到参数设置那里把读写器首先要设置到多标签模式。 1、 OpenComm 函数原型: HANDLE OpenComm(int portNo); 功能说明: 打开串口。 返回值: 成功时返回串口句柄,失败时返回 INVALID_HANDLE_VALUE(-1) 参数: ●——portNo: 串口号 调用例程: HANDLE hCom = OpenComm(1); // 打开串口 1 if(hCom != INVALID_HANDLE_VALUE) AfxMessageBox(“打开串口成功!” ); else AfxMessageBox(“打开串口失败!” );

110,539

社区成员

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

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

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