unit UnitEDll;interfaceuses
  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';//已封装的DLLfunction 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中的函数和过程?

解决方案 »

  1.   

    应该是没有问题的,会不会是你定义的问题:
    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
    试试
      

  2.   

    原来是有stdcall这个,我加上后,输出的inCommID1的值就变了样,不正确。
      

  3.   

    无法定位程序输入AA(函数名)于动态链接库dd.Dll上
      

  4.   

    >>>无法定位程序输入AA(函数名)于动态链接库dd.Dll上
    你的dd.Dll 有没有把AA函数暴露出来???需要在dd.dll 的dpr文件中写
    exports
      AA;外面才能看到并且调用哦。
      

  5.   

    两层调用DLL
    第二层不能调到DLL
    按道理,一个DLL应该可以去调用另外一个DLL的。
    但我调用怎么调不到。