易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi 的 Dll 函数的 调用


一、Dll建立
(一)DLL项目的建立
library mydll;
 
uses
base in 'base.pas';
 
exports
Triple name 'Tr';
 
{$R *.res}
 
begin
end.
 
(二)函数单元
unit base;
 
interface
 
uses windows;
 
function Triple(N:integer):integer;stdcall;
 
implementation
 
function Triple(N:integer):integer;stdcall;
begin
result:=n*3;
end;
 
end.
 
 
二、静态调用
 
unit Unit1;
 
interface
 
uses
Windows, SysUtils, Controls, Forms,
StdCtrls, Classes;
 
type
TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;
 
var
Form1: TForm1;
 
implementation
 
const
gdi32='mydll';
function triple(n:integer):integer;stdcall;external gdi32 name 'Tr';
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:=inttostr(triple(10));
end;
 
end.
 
三、动态调用
unit Unit2;
 
interface
 
uses
Windows, SysUtils, Controls, Forms,
StdCtrls, Classes;
 
type
TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;
 
var
Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
type
   Taddc=function(n:integer):integer;stdcall;//定义函数指针
var
Handle:Thandle;
addc:Taddc;
begin
Handle:=LoadLibrary('mydll.dll');//加载mydll
if Handle>32 then
begin
   @addc:=GetProcAddress(Handle,'Tr'); //取Tr函数入口地址,大小写敏感。Tr为mydll中的Triple的exports 的name命名
   if @a


相关文档:

Delphi下的COM编程

Delphi通过向导可以非常迅速和方便的直接建立实现COM对象的代码,但是整个COM实现的过程被完全的封装,甚至没有VCL那么结构清晰可见。一个没有C++下COM开发经验甚至没有接触过COM开发的Delphi程序员,也能够很容易的按照教程设计一个接口,但是,恐怕深入一想,连生成的代码代表何种意义,哪些能够定制都不清楚。前几期 &ld ......

delphi 对 RES文件的使用

一、引子:
     现在的Windows应用程序几乎都使用图标、图片、光标、声音等,我们称它们为资源(Resource)。最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用。资源是程序的一部分,程序要正常运行就离不了资源文件。但是它是不可执行代码。
   &n ......

DELPHI 查找,增加,修改,删除

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Button ......

怎样在Delphi中调用EXE文件


//加一下按钮,加一个对话框就OK啦
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
if OpenDialog1.Execute then
begin
s := OpenDialog1.FileName;
WinExec( PChar(s), SW_NORMAL);
end;
end;

----------------------- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号