要调用一个DLL中的函数
函数原型如下:
ExpandData
展开交易记录数据。
function ExpandData (
dType:integer;
pData:PChar;
buf:PRecData):integer; 参数
sType
交易记录类型。0:考勤门禁机记录;1:餐饮收费机记录。
pData
待展开的字符串。考勤记录为13字节,消费记录为16字节。
buf
数据结构指针,指向返回数据的结构。 返回值
如果函数调用成功,返回值为1000。
如果函数调用失败,返回值不为1000。如需得到错误描述,请调用GetTAErrMsg。 说明
返回的数据结构如下:
RecData = record
RecType:string; //记录类型
CardNo:string; //卡号
RecTime:Tdatetime; //时间
Fare:real; //交易金额
Balance:real; //余额
CardType:integer; //消费卡类
MealType:integer; //餐别
OperNo:string; //操作类型(保留)
end;
PRecData=^RecData; //指向以上结构的指针相对考勤记录,结构中只有卡号和时间为有效内容。消费额等只对餐饮消费记录才有意义。其中数据结构指针在C#中 怎么实现啊?
函数原型如下:
ExpandData
展开交易记录数据。
function ExpandData (
dType:integer;
pData:PChar;
buf:PRecData):integer; 参数
sType
交易记录类型。0:考勤门禁机记录;1:餐饮收费机记录。
pData
待展开的字符串。考勤记录为13字节,消费记录为16字节。
buf
数据结构指针,指向返回数据的结构。 返回值
如果函数调用成功,返回值为1000。
如果函数调用失败,返回值不为1000。如需得到错误描述,请调用GetTAErrMsg。 说明
返回的数据结构如下:
RecData = record
RecType:string; //记录类型
CardNo:string; //卡号
RecTime:Tdatetime; //时间
Fare:real; //交易金额
Balance:real; //余额
CardType:integer; //消费卡类
MealType:integer; //餐别
OperNo:string; //操作类型(保留)
end;
PRecData=^RecData; //指向以上结构的指针相对考勤记录,结构中只有卡号和时间为有效内容。消费额等只对餐饮消费记录才有意义。其中数据结构指针在C#中 怎么实现啊?
解决方案 »
- C#Winform GUI+绘制饼图,并实现鼠标在相应扇形块时,悬浮显示相应提示信息
- 怎么在调试时跟踪代码
- DateTime 转化成Byte数组 ,相反byte数组转化成Datetime?
- DataGridView和Button小问题
- C#下有成熟的日志管理,数据库事务管理控件吗
- URLRewriter(有时出现NullReferenceException: 未将对象引用设置到对象的实例)
- 向移动宣战,为正义开路
- 新建一个安装部署项目,在生成时出现错误?
- 江湖救急_关于C#中使用Excel2003操作HyperLink的问题(急)
- InvalidArgument=“-1”的值对于“index”无效。
- webform 中导出csv的问题
- 多任务多线程循环添加控件占用系统资源的问题
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
internal struct RecData
{
public string RecType;
public string CardNo;
public DateTime RecTime;
public float Fare;
public float Balance;
public int CardType;
public int MealType;
public string OperNo;
}[DllImport("你的dll", SetLastError=true, CharSet=CharSet.Auto)]
private static extern int ExpandData(int dType, ref char pData, ref RecData pRecData);代码:RecData _rectData = new RecData();
//你自己的赋值代码
char s = 's';
ExpandData(10000, ref s, ref _rectData);
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct RecData
{
public string RecType;
public string CardNo;
public DateTime RecTime;
public float Fare;
public float Balance;
public int CardType;
public int MealType;
public string OperNo;
}[DllImport("你的dll", SetLastError=true, CharSet=CharSet.Auto)]
public static extern int ExpandData(int dType, ref char pData, ref RecData pRecData);代码:RecData _rectData = new RecData();
//你自己的赋值代码
char s = 's';
ExpandData(10000, ref s, ref _rectData);