+ -
当前位置:首页 → 问答吧 → DElphi 调dll 报地址错误 求大虾帮~

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;

作者: freechy2008   发布时间: 2011-08-21

什么样的错呢?很怀疑是string类型的形参造成的。加ShareMM

作者: rainychan2009   发布时间: 2011-08-21

热门下载

更多