接口函数定义:
extern "C" DllExport int PCFileCopyToOther(char Disk,
LPCSTR PCFileName,
LPCSTR OtherFileName,
BOOL IsDispProgress,
LPCSTR Message)
我在delphi引入如下:
function PCFileCopyToOther(Disk:Byte;PCFileName:PChar;OtherFileName:PChar;
IsDispProgress:Boolean;mess:PChar):Integer;stdcall;
function PCFileCopyToDev;external f3200_dll name 'PCFileCopyToOther';
调用时我是这么调用的:
PCFileCopyToOther(0,PChar('1.txt'),PChar('2.txt'),True,PChar('请稍后...'));
当运行时在XP系统下就很少出错误,但到了2003 server系统下运行时就出现“内存不能read的错误”;当我将PChar改成shortstring时虽然不出错了,但是传参数时的值可能就不对了,每次调用都得不到预期的值。
LPCSTR应该对应是PChar吧
extern "C" DllExport int PCFileCopyToOther(char Disk,
LPCSTR PCFileName,
LPCSTR OtherFileName,
BOOL IsDispProgress,
LPCSTR Message)
我在delphi引入如下:
function PCFileCopyToOther(Disk:Byte;PCFileName:PChar;OtherFileName:PChar;
IsDispProgress:Boolean;mess:PChar):Integer;stdcall;
function PCFileCopyToDev;external f3200_dll name 'PCFileCopyToOther';
调用时我是这么调用的:
PCFileCopyToOther(0,PChar('1.txt'),PChar('2.txt'),True,PChar('请稍后...'));
当运行时在XP系统下就很少出错误,但到了2003 server系统下运行时就出现“内存不能read的错误”;当我将PChar改成shortstring时虽然不出错了,但是传参数时的值可能就不对了,每次调用都得不到预期的值。
LPCSTR应该对应是PChar吧
解决方案 »
- IIS的服务名称以及如何通过一个应用程序来重启服务
- MSCOMM、SPCOMM、CPORT哪个更好用一些?
- imagelist中的图像来源
- 小问题,转眼又忘了^_^
- ApplyUpdates(0)后为何提交不到数据库啊
- 有什么办法去掉listbox的滚动条,或者有什么控件既可以像listbox那样可以改变行的大小,又可以没有滚动条,高手请进
- Delphi7的dbExoress和ado作用有什么不同?
- 请教各位大侠一个小问题
- 请问:当image是自动生成的时候,sender as timage是否能用?
- 求教:auxsetvolume的用法?
- 文件对话框编程
- table 修改了,怎么 form 的字段没有跟着变 ?
解决方法,用array [0..xxx] of char代替pchar
或用pchar,但先申请内存,再赋值,最后再调函数