1. 程式人生 > >DLL_Delphi動態調用

DLL_Delphi動態調用

func ssi remote del object ant tid util fun

1、動態調用DLL

unit formMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TfrmMain = class(TForm)
    btnLoadLibrary: TButton;
    procedure btnLoadLibraryClick(Sender: TObject);
  private
    { Private declarations }
  public
procedure LoadDllZ; end; TfnC_ExecJS = function(_pSvgFrm :Pointer; _pcJS :PChar):integer;stdcall; TfnD_PassStId = function(_Sender :Pointer; _pcStId :PChar):integer;stdcall; var frmMain: TfrmMain; // *** g_fnExecJS : TfnC_ExecJS; g_fnPassStId :TfnD_PassStId; implementation {$R *.dfm
} { TfrmMain } procedure TfrmMain.LoadDllZ; var hDll :Cardinal; iRtn :integer; begin hDll := LoadLibrary(PChar(DrRemoteCall.dll)); if hDll = 0 then begin Exit; end; @g_fnExecJS := GetProcAddress(hDll, ExecJS); @g_fnPassStId := GetProcAddress(hDll, PassStId); if not Assigned( g_fnExecJS ) then
begin FreeLibrary(hDll); Exit; end; if not Assigned( g_fnPassStId ) then begin FreeLibrary(hDll); Exit; end; // ZC: 調用函數 iRtn := g_fnExecJS(nil, TestCC); FreeLibrary(hDll); ShowMessage(out); end; procedure TfrmMain.btnLoadLibraryClick(Sender: TObject); begin LoadDllZ; end; end.

2、

3、

4、

5、

DLL_Delphi動態調用