DElphi 调dll 报地址错误 求大虾帮~
时间:2011-08-21
来源:互联网
在delphi中调用dll后 显示成功,但运行到该函数的结尾end时 报错。
作者: freechy2008 发布时间: 2011-08-21
附该函数源码:
function gf_WritePurchase_Ex(iMode:integer;
iDataFormat:integer;
szID:string;
dkWh:double;
iTimes:integer;
szDatetime:string;
iParamFlag:integer;
dPrewarningkWh:double;
dWarningkWh:double;
dCornerkWh:double;
dMinUsekWh:double;
dMaxOverDraftkWh:double;
dMaxTickkWh:double;
dMaxLoadkW:double;
iMaxTripTimes:integer;
iPTCT:integer;
szPassword:string;
dTickLoadThreshold:double;
isw:integer;szmetermodel:string):integer;
var
ir:integer;
begin
try
if (iMode=$D0) or (iMode=$B0) then begin
if szmetermodel ='S' then
ir:=IC_Purchase_D0_Ex(giPort,iDataFormat, PChar(szID), dkWh, iTimes , PChar(szDatetime),
iParamFlag, dPrewarningkWh, dWarningkWh, dCornerkWh, dMinUsekWh,
dMaxOverDraftkWh, dMaxTickkWh, dMaxLoadkW, iMaxTripTimes, iPTCT,PChar(szPassword), iMode, dTickLoadThreshold, isw)
else
ir:=IC_WritePurchase_D0_PS01(giPort,iDataFormat, PChar(szID), dkWh, iTimes , PChar(szDatetime),
iParamFlag, dPrewarningkWh, dWarningkWh, dCornerkWh, dMinUsekWh,
dMaxOverDraftkWh, dMaxTickkWh, dMaxLoadkW, dTickLoadThreshold,iMaxTripTimes, PChar(szPassword), iMode, isw);
end else
ir:=IC_Purchase_Ex(giPort,iDataFormat, PChar(szID), dkWh, iTimes , PChar(szDatetime),
iParamFlag, dPrewarningkWh, dWarningkWh, dCornerkWh, dMinUsekWh,
dMaxOverDraftkWh, dMaxTickkWh, dMaxLoadkW, iMaxTripTimes, iPTCT,PChar(szPassword), iMode, dTickLoadThreshold, isw);
except
ir:=-1;
end;
result:=ir;
end;
function gf_WritePurchase_Ex(iMode:integer;
iDataFormat:integer;
szID:string;
dkWh:double;
iTimes:integer;
szDatetime:string;
iParamFlag:integer;
dPrewarningkWh:double;
dWarningkWh:double;
dCornerkWh:double;
dMinUsekWh:double;
dMaxOverDraftkWh:double;
dMaxTickkWh:double;
dMaxLoadkW:double;
iMaxTripTimes:integer;
iPTCT:integer;
szPassword:string;
dTickLoadThreshold:double;
isw:integer;szmetermodel:string):integer;
var
ir:integer;
begin
try
if (iMode=$D0) or (iMode=$B0) then begin
if szmetermodel ='S' then
ir:=IC_Purchase_D0_Ex(giPort,iDataFormat, PChar(szID), dkWh, iTimes , PChar(szDatetime),
iParamFlag, dPrewarningkWh, dWarningkWh, dCornerkWh, dMinUsekWh,
dMaxOverDraftkWh, dMaxTickkWh, dMaxLoadkW, iMaxTripTimes, iPTCT,PChar(szPassword), iMode, dTickLoadThreshold, isw)
else
ir:=IC_WritePurchase_D0_PS01(giPort,iDataFormat, PChar(szID), dkWh, iTimes , PChar(szDatetime),
iParamFlag, dPrewarningkWh, dWarningkWh, dCornerkWh, dMinUsekWh,
dMaxOverDraftkWh, dMaxTickkWh, dMaxLoadkW, dTickLoadThreshold,iMaxTripTimes, PChar(szPassword), iMode, isw);
end else
ir:=IC_Purchase_Ex(giPort,iDataFormat, PChar(szID), dkWh, iTimes , PChar(szDatetime),
iParamFlag, dPrewarningkWh, dWarningkWh, dCornerkWh, dMinUsekWh,
dMaxOverDraftkWh, dMaxTickkWh, dMaxLoadkW, iMaxTripTimes, iPTCT,PChar(szPassword), iMode, dTickLoadThreshold, isw);
except
ir:=-1;
end;
result:=ir;
end;
作者: freechy2008 发布时间: 2011-08-21
什么样的错呢?很怀疑是string类型的形参造成的。加ShareMM
作者: rainychan2009 发布时间: 2011-08-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28