delphi 静态调用dll的一点心得:

 1 unit Unit1;
 2 
 3 interface
 4 
 5 uses
 6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 7   Dialogs, StdCtrls, Buttons;
 8 
 9 type
10   TForm1 = class(TForm)
11     BitBtn1: TBitBtn;
12     procedure BitBtn1Click(Sender: TObject);
13   private
14     { Private declarations }
15   public
16     { Public declarations }
17   end;
18 
19 var
20   Form1: TForm1;
21 
22 function MB(hwnd:HWND;lpText,lpCaption:PChar;uType:UINT):Integer; stdcall; //external user32 name 'MessageBoxA';     //都写在interface部分也可以正常执行
23 
24 implementation
25 
26 {$R *.dfm}
27 function MB; external user32 name 'MessageBoxA';       //声明写在interface部分,"实现"写在implement实现部分,这样理解起来更顺畅。实现的方式:有自己代码实现,也有dll的静态引入实现 两种
28 
29 procedure TForm1.BitBtn1Click(Sender: TObject);
30 var
31   c,t:PChar;
32 begin
33    c:='context';
34    t:='title';
35    MB(0,c,t,0);
36 end;
37 //function MB; external user32 name 'MessageBoxA';  //因为程序是自上往下执行的,所以如果写在这里会报错。
38 end.

 

posted @ 2021-01-15 15:58  此木为柴  阅读(134)  评论(0编辑  收藏  举报