在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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、
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论