关于DLL的问题???(50分)

  • 主题发起人 主题发起人 sars1
  • 开始时间 开始时间
S

sars1

Unregistered / Unconfirmed
GUEST, unregistred user!
调试时出现如下错误:<br>&nbsp;无法定位程序输入点OPEN于动态连接库DD。DLL上<br><br>&nbsp;该怎么办?<br>其中 &nbsp;OPEN 是动态库的函数名!!<br>
 
问题是open是动态库的函数名,而你是怎么调用的?
 
Function open(char :pchar;baud:integer) :integer;stdcall &nbsp;far ; external 'h:/qq/dd.dll'; //声明函数<br><br>status:=open(strinput,i);//直接调用!!返回状态!<br><br>这样可以吗?<br>
 
这种调用方式对马?如果不对应该怎么调用呢??<br>
 
你有没有获得dll的句柄?
 
TO &nbsp;落木潇潇, &nbsp;应该怎么获得呢?<br>用 regsvr32 h:/DD/DD.dll &nbsp;都不能注册!!<br>
 
用loadlibrary函数,看看
 
Function open(char :pchar;baud:integer) :integer; <br>stdcall external 'h:/qq/dd.dll' name 'Open';<br>这样行不行?
 
动态调用,与静态调用有什么<br>区别呢?<br>TO &nbsp;爱多, 动态调用可以 <br><br>TO app2001, 这样也不行
 
Function open(char :pchar;baud:integer) :integer; <br>stdcall external 'dd.dll' name 'Open';<br>这样呢?就直接把动态库放在调用程序的工作目录下好了,不行的话,是怎么个不行法呢
 
注意大小写。
 
动态调用与静态调用有区别的:<br>动态在使用的时候,进行调用,调用完之后,释放.在调用时,显得慢些<br>静态从程序一开始执行时,进行调用,程序结束后再释放.太占用内存
 
检查DLL连接文件路径和OPEN函数的大小写是否正确,DLL连接是要区分大小写的<br>即检查 open和'h:/qq/dd.dll'是否与DLL单元相对应<br>
 
&nbsp;大小写没问题!!!<br><br>现在又出现新的错误:<br>&nbsp;missing operator or semicolon
 
to &nbsp;app2001<br>&nbsp;就是出现上面的错误
 
DLL中的OPEN是不是也加了stdcall
 
to &nbsp;爱多,<br>&nbsp;dll不是我写的!!有动态条用的例子吗?给我发一份好吗?
 
&nbsp;谁能给我发个动态调用的例子,收到马上送份!!!<br>注 要有详细的说明!!
 
Function open(char :pchar;baud:integer) :integer; <br>stdcall; external 'dd.dll';<br>=======^<br>看仔细在stdcall后少掉了一个;<br><br>
 
EMAIL:glassmao@qingdaonews.com
 
后退
顶部