你管厂家的人说啥,你执行的结果正确就行了。而且这个InStr明明就是一个字符指针,哪是什么字符指针数组。 就这个函数声明来说,传入了字符串和字符串的长度,就能正确处理这个字符串了,干嘛非要什么数组还是pchar。当然你别传string就行了。如果要传数组也行,声明中把pchar的改成这样 function Write_Card(InStr:array of ansichar;.....
function Write_Card(InStr: Pchar;Len: DWORD;Sector: DWORD;Block: DWORD; MM: Pchar):integer; stdcall; 定义如上面; 调用时: getmem(InStr, 16), len 传入你实际的长度
就这个函数声明来说,传入了字符串和字符串的长度,就能正确处理这个字符串了,干嘛非要什么数组还是pchar。当然你别传string就行了。如果要传数组也行,声明中把pchar的改成这样
function Write_Card(InStr:array of ansichar;.....
定义如上面;
调用时: getmem(InStr, 16), len 传入你实际的长度