博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DLL_Delphi动态调用
阅读量:7077 次
发布时间:2019-06-28

本文共 1265 字,大约阅读时间需要 4 分钟。

1、动态调用DLL

unit formMain;interfaceuses  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、

 

转载于:https://www.cnblogs.com/CodeSkill/p/8250869.html

你可能感兴趣的文章
Atitit. 如何判断软件工程师 能力模型 程序员能力模型 项目经理能力模型...
查看>>
每周算法讲堂,二分法
查看>>
2016第8周五
查看>>
CSS3文本溢出显示省略号
查看>>
zookeeper系列之通信模型(转)
查看>>
js动态判断密码强度&&实用的 jQuery 代码片段
查看>>
Android实例-获取程序版本号(XE10+小米2)
查看>>
抛砖引玉,扒扒伪基站那些事(转)
查看>>
C#生成缩略图代码
查看>>
linux下的gedit命令使用方法与技巧
查看>>
Exception loading sessions from persistent storage
查看>>
用Eclipse替代Keil&IAR来开发ARM应用(升级版)
查看>>
xtrabackup之Innobackupex增量备份及恢复
查看>>
jquery之营销系统(会员促销)
查看>>
总结六条对我们学习Linux系统有用的忠告
查看>>
CF687A. NP-Hard Problem[二分图判定]
查看>>
esriFeatureType与esriGeometryType的区别与联系
查看>>
windows添加linux 启动引导项
查看>>
asp.net Form认证超时后,在iframe中跳转问题
查看>>
java LinkedBlockingQueue和ConcurrentLinkedQueue的区别
查看>>