社区
Delphi
帖子详情
调用dll的问题,经典错误
wjhx
2012-04-22 09:48:57
退出程序的时候,提示错误信息:access violation at 0x77466892;write of address 0x00030fec
自己写了一个dll文件,两天前用着一切正常;后安装过几个控件就出现了这个错误。但在测试程序中是正常的,能是什么原因?因开发的需要,那几个控件不能卸载。
...全文
144
9
打赏
收藏
调用dll的问题,经典错误
退出程序的时候,提示错误信息:access violation at 0x77466892;write of address 0x00030fec 自己写了一个dll文件,两天前用着一切正常;后安装过几个控件就出现了这个错误。但在测试程序中是正常的,能是什么原因?因开发的需要,那几个控件不能卸载。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wjhx
2012-05-16
打赏
举报
回复
没有找以合适的解决办法,换了。
蓝色光芒
2012-04-24
打赏
举报
回复
主程序,OnClose中,写上ExitProcess(0),交给Windows回收一切,就行了
Jekhn
2012-04-24
打赏
举报
回复
DLL中的func是不是用了string类型做参数了,改为PChar试试
山东蓝鸟贵薪
2012-04-23
打赏
举报
回复
[Quote=引用楼主 的回复:]
退出程序的时候,提示错误信息:access violation at 0x77466892;write of address 0x00030fec
自己写了一个dll文件,两天前用着一切正常;后安装过几个控件就出现了这个错误。但在测试程序中是正常的,能是什么原因?因开发的需要,那几个控件不能卸载。
[/Quote]
这个问题我知道,就是在“退出”程序时,没有将那个DLL文件释放掉才出错的
楼主加载DLL的方式肯定就是“静态”方式,建议楼主用“动态”方式
或者在“退出”时,释放掉那个DLL文件
wjhx
2012-04-23
打赏
举报
回复
H:=LoadLibrary(PChar('mydll.dll'));
if H<>0 then
begin
p:=GetProcAddress(H, PChar('func'));
if Assigned(p) then
uKey:=p(str);
end;
FreeLibrary(H);
动态调用仍然出错,只是地址换了,现在成了0x76f56892
kaikai_kk
2012-04-23
打赏
举报
回复
無代碼無真相
cntigercat
2012-04-23
打赏
举报
回复
放源码来瞅瞅
我看见佛
2012-04-22
打赏
举报
回复
这个问题很常见的内存地址访问错误。
一般是由于:使用了未实例化的变量。DLL有源码的话,在DLL里断点跟踪下,看看对象是否为NIL但又什么了它等情况,若没源码……
unicodestring
2012-04-22
打赏
举报
回复
access violation at 0x77466892;write of address 0x00030fec
这种原因最不好找了,尤其是dll中。
PB
调用
DLL
的常见
问题
及处理方法
PB
调用
DLL
的常见
问题
及处理方法 首先,为方便描述,先假设有一个
DLL
文件,名称为 test.
dll
,里面有个函数叫test。 第一类:通用型标准
DLL
1、
调用
约定
问题
。Windows系统的标准
DLL
,通常有2种
调用
约定,即__cdecl和__stdcall,__stdcall约定在.h文件中通常又定义为 WINAPI和CALLBACK。咱们的PB只能
调用
__stdcall约定的
DLL
,不能
调用
__cdecl约定的
DLL
。 如果
调用
了__cdecl约定的函数,会报以上
错误
。.
显示
调用
DLL
出现126
错误
显示
调用
DLL
,特别要注意的是,
DLL
的路径和函数的名称。如果
DLL
的路径没有
问题
,还是出现126
错误
(未指定的模块),一般可能是该
DLL
需要依赖某些其他
DLL
库,特别是MFC类型的
DLL
,当采用动态编译时,就会因为缺少mfc140u.
dll
和msvcp140.
dll
(VS2015 DEBUG编译环境)库而出现失败。 ...
C#
调用
DLL
时出现的
错误
(个人总结向)
C#
调用
DLL
时出现的
错误
前言1.环境配置
问题
1.1 无法加载*.
dll
,找不到指定的模块2.
DLL
程序
问题
2.1 无法在
dll
中找到入口点2.2 在C#中捕捉
DLL
中函数异常2.3 Invalid address specified to RtlValidateHeap2.4
DLL
编译3.C#
调用
问题
3.1 尝试读取或写入受保护的内存3.2 C#
调用
dll
出现托管
问题
3.3 参数不一致3.4
调用
带传出数组函数4.其他4.1 warning C4819: 该文件包含不能在当前代码页中表示的字符4.2
java
调用
dll
报内存溢出
错误
或者程序崩溃
因为业务需要,需要用Java去
调用
dll
动态库来分析图片,结果
调用
后导致程序内存溢出,或者直接崩溃;再经过反复检查后,发现本身的我写的java代码并没有
问题
,最终去验证图片的时候: 1.图片访问不到,导致
dll
动态库报错,最终使程序崩溃; 2.图片没有alpha通道(阿尔法通道),导致
dll
动态无法对图片进行分析; 3.图片含有背景; 上述原因在排除
dll
动态库本身没有
错误
的情况下,如果
dll
动态库本身有
问题
则上述原因可能不成立; (如有
错误
,还请指正) ...
遇到Qt
调用
dll
问题
(整理版)
遇到Qt
调用
dll
问题
,search后整理如下: 首先列出几种
错误
,然后介绍解决方法。 (younghz后加:正确格式应该在-L和-l之后没有空格--14.3.30) 解决方法:
DLL
与LIB的区别 : 1.
DLL
是一个完整程序,其已经经过链接,即不存在同名引用,且有导出表,与导入表lib是一个代码集(也叫函数集)他没有链接,所以lib有
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章