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.