Ask

Delphi中通过GetProcAddress获得的Dll入口函数的地址后如何调用这个函数?

解决方案 »

  1.   

    给你个例子:
    type
      TMyProc = procedure(Param: Pchar); Stdcall;var
      MyProc: TMyproc;
      MyHandle: THandle;
    begin
      MyHandle := LoadLibrary('Mydll');
      if MyHandle <= 0 then
        raise Exception.Create('动态链接库调用失败,错误代码是:' + IntToStr(GetLastError))
      else
        @MyProc := GetProcAddress(MyHandle, 'demoproc');
      if not Assigned(MyProc) then
        raise Exception.Create('GetProcAddress调用失败,错误代码是:' + IntToStr(GetLastError))
      else
        MyProc(PChar('a string'));
      Freelibrary(Myhandle); // 卸载DLL
    end;
      

  2.   

    TMyProc = procedure(Param: Pchar); Stdcall;如果参数多于一个,怎么写