关于loadlibrary的疑惑(100)(100分)

  • 主题发起人 主题发起人 bigmzb
  • 开始时间 开始时间
B

bigmzb

Unregistered / Unconfirmed
GUEST, unregistred user!
我在使用loadlibrary加载dll时。很多时候就卡在了这一句上过不去。为什么呢?<br>以下两种写法我都试了。效果差不多:<br>handle:=loadlibrary('m_xxx.dll');<br>handle:=loadlibrary('d:/新建文件夹/m_xxx.dll');
 
用LoadLibraryEx
 
加载其他的DLL试试,看是不是有同样的问题。
 
kgm大师:<br> &nbsp; 为什么呀?
 
检查一下你要调用的DLL是不是有问题<br>或者只是名称带有.DLL<br>其实根本不是动态链接库文件
 
&quot;卡在了这一句上过不去&quot;是什么意思?有错误提示吗?
 
不行还是老样子,有时候就过不去了。是不是以前用的dll没有从内存中free掉呀
 
to:liyinwei<br>&quot;卡在了这一句上过不去&quot;是什么意思?有错误提示吗? &nbsp;<br>[blue]没有错误提示。就是不动了。处于系统忙状态。[/blue]<br>to:Mike1234567890<br>检查一下你要调用的DLL是不是有问题<br>或者只是名称带有.DLL<br>其实根本不是动态链接库文件 <br>[blue]有时候就可以过去。肯定是动态链接库 [/blue]
 
哦,不是系统忙。像是锁住的样子。程序界面都出不来了。
 
DLL是自己写的吗<br>在DLL初始化时有没有可能导致死锁的代码<br>如果有可能死锁就有可能停到那儿什么也不做
 
to :Mike1234567890<br>那为什么有时候就能特顺畅的通过呢?你能把你的想法举个例子吗?谢谢
 
dll中我用了这些东西<br>initialization<br> &nbsp;coinitialize(nil);<br>finalization<br> &nbsp;couninitialize;<br><br>有影响吗?
 
去了这些,做个空函数试试,我认为是有影响的。
 
Handle变量改名!和窗口类属性重名了!!!!!<br>[red]DllHandle [/red]:= LoadLibrary(....);
 
var &nbsp; &nbsp;handle1:integer;<br><br> handle1:=loadlibraryex('d:/新建文件/m_xxx.dll',0,LOAD_WITH_ALTERED_SEARCH_PATH);<br><br>还是不行!!!
 
没有返回值,卡在这一句不动了,下不去。
 
去掉coinitialize(nil);和卸载语句
 
你把DLL初始化时执行的动作全部取消<br>然后试一下<br>先排除这个问题出错的可能
 
那 ado控件用不了了
 
后退
顶部