类似这样:
procedure ShowHuiFangform;
var
  handle_dll: Thandle;
  ShowhuifangForm: procedure;
begin
  try
    handle_dll := LoadLibrary('HuiFang_dll.dll');
    if handle_dll <> null then
    begin
      @showhuifangform := GetProcAddress(handle_dll, 'ShowHuiFangForm');
      if @ShowhuifangForm <> nil then ShowhuifangForm;
    end
    else
    begin
      showmessage('无法回放,不能调用DLL库!,请仔细检查相关设置!');
    end;
  finally
    freelibrary(handle_dll);
  end;
end;

解决方案 »

  1.   

    interfacefunction YourFunction: Integer; stdcall;implementationfunction YourFunction:Integer; external 'yourdll.dll';
      

  2.   

     wangzh(独孤求问)先生的比较复杂,我喜欢chechy(chechy)的。也举一个例子吧。
    在DCDEV.DLL中声明为 HANDLE __stdcall RdInit(__int16 port,long baud)
    你在DELPHI中先声明以下:Function RdInit(prot:integer;baud:longint):longint; stdcall;
      far;external 'dcdev.dll' name 'RdInit';程序中调用如下:
      icdevLong := RdInit(comInt, baudLong);DELPHI对声明比较严格,要注意。如需要例子请留EMAIL:  [email protected]
      

  3.   

    我都用 wangzh(独孤求问) 的方法,对资源利用率高,强烈建议使用!
    chechy(chechy) 的方法在程序启动时就浪费一定的资源!
      

  4.   

    还是动态调用DLL的好,静态的太消耗资源.
      

  5.   

    强烈推荐使用 wangzh(独孤求问) 的方法,节省系统资源!!!
      

  6.   

    恩,多谢大家的帮忙,问题已完全解决了
    我又查了些资料,我觉得wangzh(独孤求问)的方法比较好,再次谢过!