DLL1是否能够调用另外一个已封装的DLL2?

panjinfu80 2006-06-21 08:56:11
unit UnitEDll;

interface

uses
windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, strUtils;

function Term_CommCallOut(var inCommID1:dword):Integer;stdcall;export;


implementation //DLLXunJian.dll是原接口动态库

function Term_CommCall(var TermID:DWord; var SerialNo:word):SmallInt; external 'DLLXunJian.dll';//已封装的DLL



function Term_CommCallOut(var inCommID1:dword):Integer;//新的DLL函数
Var
inCommIDStr:word;
inCommID:word;
TermID:DWord;
SerialNo:word;
Begin
if Term_CommCall(TermID,SerialNo)=1 then //不能执行,返回inCommID1的值不正确
Begin
inCommID1:=TermID;
result:=1;
End;
inCommID1:=TermID;
result:=1;
end;

end.
-------------------------
请大家帮忙一下,怎么样调用另外一个已经封装好的DLL中的函数和过程?
...全文
237 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
panjinfu80 2006-06-23
  • 打赏
  • 举报
回复
两层调用DLL
第二层不能调到DLL
按道理,一个DLL应该可以去调用另外一个DLL的。
但我调用怎么调不到。
boatzm 2006-06-22
  • 打赏
  • 举报
回复
>>>无法定位程序输入AA(函数名)于动态链接库dd.Dll上
你的dd.Dll 有没有把AA函数暴露出来???

需要在dd.dll 的dpr文件中写
exports
AA;

外面才能看到并且调用哦。
panjinfu80 2006-06-22
  • 打赏
  • 举报
回复
无法定位程序输入AA(函数名)于动态链接库dd.Dll上
panjinfu80 2006-06-21
  • 打赏
  • 举报
回复
原来是有stdcall这个,我加上后,输出的inCommID1的值就变了样,不正确。
柯本 2006-06-21
  • 打赏
  • 举报
回复
应该是没有问题的,会不会是你定义的问题:
function Term_CommCall(var TermID:DWord; var SerialNo:word):SmallInt; external 'DLLXunJian.dll';//已封装的DLL
原来的是否也是stdcall?,改为

function Term_CommCall(var TermID:DWord; var SerialNo:word):SmallInt; stdcall;external 'DLLXunJian.dll';//已封装的DLL
试试

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧