社区
Delphi
帖子详情
DElphi 调dll 报地址错误 求大虾帮~
freechy2008
2011-08-21 05:35:56
在delphi中调用dll后 显示成功,但运行到该函数的结尾end时 报错。
...全文
282
11
打赏
收藏
DElphi 调dll 报地址错误 求大虾帮~
在delphi中调用dll后 显示成功,但运行到该函数的结尾end时 报错。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
freechy2008
2011-08-22
打赏
举报
回复
这段代码执行是可以正确执行的。但只要改动就会报错。即使你的改动完全没有意义。比如在此函数加一个参数。但我不用它执行ir:=IC_WritePurchase_D0_PS01就一定报错 执行 ir:=IC_Purchase_D0_Ex却不会。
但ir:=IC_WritePurchase_D0_PS01执行是成功的 需运行到end.的时候才报错
Access violation at address 0x000000 in module 'star.exe '. Read
rainychan2009
2011-08-22
打赏
举报
回复
LZ,请不要相信诡异一说,至少在计算机中。你这个想法只会让你正面定位、解决问题越来越远。当遇到一个问题无从下手,可以采取砍掉一步代码,精简,然后测试的办法。
freechy2008
2011-08-22
打赏
举报
回复
当然我改变的那个函数在此函数前被调用了。这个unit 全部都存放的调用该dll的函数。问题是我只是做一个完全不影响现在执行环境的改动。就如加一个参数,却不用它。而且我是改变另外一个函数哦。而且一旦出错。我改回去。让代码完全和以前一样。还出错。 只能说太诡异。。。。。。。
freechy2008
2011-08-22
打赏
举报
回复
问题在于它本身是可以的。现在这个函数所在的unit 我改变了另外一个函数一样执行到这里也出错啊。
郁闷得想死。。。。
freechy2008
2011-08-22
打赏
举报
回复
代码太多 我吧调用方式发出来
function IC_WritePurchase_D0_PS01(iport: Longint; iDataFormat:integer; pszID:PCHAR; dkWh:double; iTimes:integer; pszDateTime:PCHAR; iParamFlag:integer; dPrewarnningkWh:double; dWarnningkWh:double; dCornerkWh:double; dDayFee:double; dMaxOverDraftkWh:double; dMaxTickkWh:double; dMaxCurrent:double; dSpecialMaxCurrent:double;iMaxTripTimes:integer; pszPassword:PCHAR; iCalcuMode:integer; var isw:integer): Longint;
stdcall; external 'starcpu2.dll';
funxu
2011-08-22
打赏
举报
回复
LZ不要被报错的位置迷惑了,感觉问题应该出现在内存的使用上,使用了不该使用的内存等,这些问题在dll释放时暴露出来,所以才会在end时弹出错误,还是把主要代码贴出来看看吧
一剑飘雪
2011-08-22
打赏
举报
回复
贴主要代码
lhs203203
2011-08-22
打赏
举报
回复
请问下你调用dll的调用方式是什么你都没有写 当然在释放的时候就会报指针错误了 加上stdcall或是cdecl就可以了
rainychan2009
2011-08-22
打赏
举报
回复
[Quote=引用 3 楼 freechy2008 的回复:]
这段代码执行是可以正确执行的。但只要改动就会报错。即使你的改动完全没有意义。比如在此函数加一个参数。但我不用它执行ir:=IC_WritePurchase_D0_PS01就一定报错 执行 ir:=IC_Purchase_D0_Ex却不会。
但ir:=IC_WritePurchase_D0_PS01执行是成功的 需运行到end.的时候才报错
Access violation at ……
[/Quote]
访问0地址,肯定是尝试访问一个没有分配内存的指针
rainychan2009
2011-08-21
打赏
举报
回复
什么样的错呢?很怀疑是string类型的形参造成的。加ShareMM
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;
[
delphi
教程]
delphi
开发教程全攻略(1)
该博客围绕
Delphi
开发展开,涵盖众多技术问题,如控件使用、网络数据通讯、SQL语句编写、数据库操作、程序编译、界面显示等,还涉及多线程、打包、邮件接收等方面,同时给出了相关开发资料的访问
地址
。
什么是API
本文旨在为编程初学者揭开API函数的神秘面纱,介绍API函数在操作系统发展历史中的作用,以及如何在现代可视化编程环境中利用API函数简化应用程序开发。通过详细解释API函数的类型和应用场合,
帮
助开发者理解API在实际编程中的价值。
全球各国汇率、短长期、政策利率数据(1914-2024.3)
根据国际货币基金组织(IMF)等平台的数据,整理了全球各国的兑美元汇率,短期利率、长期利率、政策利率数据,时间范围最新至2024年3月,希望对大家有所
帮
助 一、数据介绍 数据名称:全球各国汇率、短长期、政策利率数据 数据范围:全球国家 样本数量:76403条 数据年份:1914-2024.3 数据说明:包含兑美元汇率、短期利率、长期利率、政策利率 更新时间:2024年3月 二、指标范围 单位 国家 年份 兑美元汇率-月度均值 兑美元汇率-年度均值 短期利率 长期利率 政策利率
YOLO算法实验室电子仪器电源状态目标检测数据集-60张-标注类别为关机状态-开机状态.zip
YOLOv11目标检测实战项目
样本--2026-2032中国舆情监控系统市场现状研究分析与发展前景预测
报
告--Wangliu.pdf
样本--2026-2032中国舆情监控系统市场现状研究分析与发展前景预测
报
告--Wangliu.pdf
Delphi
5,943
社区成员
262,942
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章