Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ÖÐCreateMutex£¬OpenMutexʹÓÃÒ»Àý

VCÉùÃ÷
HANDLE CreateMutex(
¡¡¡¡LPSECURITY_ATTRIBUTES lpMutexAttributes, // SD
¡¡¡¡BOOL bInitialOwner, // initial owner
¡¡¡¡LPCTSTR lpName // object name
¡¡¡¡);
delphiÉùÃ÷£º
function CreateMutex(lpMutexAttributes: PSecurityAttributes; bInitialOwner: BOOL; lpName: PChar): THandle; stdcall;
´´½ ......

DelphiÔ´³ÌÐò¸ñʽÊéд¹æ·¶

1£¬¹æ·¶¼ò½é
¡¡¡¡±¾¹æ·¶Ö÷Òª¹æ¶¨DelphiÔ´³ÌÐòÔÚÊéд¹ý³ÌÖÐËùÓ¦×ñÑ­µÄ¹æÔò¼°×¢ÒâÊÂÏî¡£±àд¸Ã¹æ·¶µÄÄ¿µÄÊÇʹ¹«Ë¾Èí¼þ¿ª·¢ÈËÔ±µÄÔ´´úÂëÊéдϰ¹ß±£³ÖÒ»Ö¡£ÕâÑù×ö¿ÉÒÔʹÿһ¸ö×éÔ±¶¼¿ÉÒÔÀí½âÆäËü×éÔ±µÄ´úÂ룬ÒÔ±ãÓÚÔ´´úÂëµÄ¶þ´Î¿ª·¢¼ÇÒäϵͳµÄά»¤¡£
2£¬Ò»°ã¸ñʽ¹æ·¶
2.1 Ëõ½ø
¡¡¡¡Ëõ½ø¾ÍÊÇÔÚµ±Ô´³ÌÐòµÄ¼¶¸Ä±äʱΪÔö¼ ......

DELPHIÖеĿì½Ý·½Ê½Ò»ÀÀ(ÍêÈ«Õýʽ°æ)


 1.SHIFT+Êó±ê×ó¼ü    ÏÈÑ¡ÖÐÈÎÒ»¿Ø¼þ,°´¼üºó¿ÉÑ¡Öд°Ìå(Ñ¡Öпؼþºó°´EscЧ¹ûÒ»Ñù)
 2.Shift+F8          µ÷ÊÔʱµ¯³öCPU´°¿Ú¡£
 3.Shift+F10         µÈÓÚÊó±êÓÒ¼ü£¨Windows¿ì½Ý¼ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ