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
Ïà¹ØÎĵµ£º
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;
´´½ ......
Ò»¸öÓѺõÄÓû§½çÃæ,±ØÐë¾ßÓÐÏÂÀ²Ëµ¥£¬µ¯³ö²Ëµ¥£¬¹¤¾ßÌõºÍ¿ì½Ý¼ü¡£Í¬ÑùÒ»¸ö¹¦ÄÜ£¬³ÌÐòÔ±¿ÉÄÜÒªÌṩ¼¸ÖÖ²Ù×÷·½Ê½£¬ÈçÎı¾¿½±´£¬²Ëµ¥ÃüÁî&Copy,¿ì½Ý¼üCtrl+C,¹¤¾ßÌõÉϵĿ½±´°´Å¥£¬¶¼ÊdzÌÐòÔ±Ìṩ¸øÓû§µÄ²Ù×÷£¬¿ÉÒÔ´ó´ó·½±ãÁ˲»Í¬²ã´ÎµÄÓû§¡£µ«ÊÇ£¬¶àÔö¼ÓÒ»ÖÖ²Ù×÷·½Ê½£¬¾ÍÒâζ×ÅÔö¼ÓÏìӦʼþµÄ´úÂë£ ......
³£Íü¼Ç£¬ÔÚ´Ë×ö±Ê¼Ç¡£
Õ⼸¸öº¯Êý¶¼°üº¬ÔÚStrUtilsÖУ¬ËùÒÔÐèÒªuses StrUtils;
¼ÙÉè×Ö·û´®ÊÇ Dstr := ’Delphi is the BEST’, ÄÇô
LeftStr(Dstr, 5) := ’Delph’
MidStr(Dstr, 6, 7) := ’ ......
Ŀǰ¿ª·¢ÆåÅÆÀàÓÎÏ·µÄ¹«Ë¾ºÍ¸öÈ˺ܶࡣµ«ÊǶÔÓںܶ࿪·¢ÕßÀ´Ëµ£¬¿ª·¢Ò»¿î¾ßÓпÉÀ©Õ¹¡¢Îȶ¨µÄÆåÅÆÀàÓÎÏ·»¹ÊǾßÓÐÒ»¶¨µÄÄѶȡ£Õâ´ÎÎÒ¾ÍÒÔÎÒ¿ª·¢ÆåÅÆÀàÓÎϷΪÀý£¬½²ÊöÈçºÎʹÓÃDELPHIÀ´¿ª·¢ÆåÅÆÀàÓÎÏ·¡£Ï£ÍûÎҵľÑé¿ÉÒÔ¶ÔÓÎÏ·¿ª·¢°®ºÃÕ߯ðµ½Å×שÒýÓñµÄ×÷Óá£Èç¹ûÄú¶ÔÎÒ»ù´¡ÆªÖÐÉæ¼°µ½µÄÄÚÈݷdz£ÊìϤ£¬¿ÉÒÔÖ±½ÓÌø¹ý½øÈëÉè¼ÆÆª¡£ ......
Ò»¡¢Òý×Ó£º
ÏÖÔÚµÄWindowsÓ¦ÓóÌÐò¼¸ºõ¶¼Ê¹ÓÃͼ±ê¡¢Í¼Æ¬¡¢¹â±ê¡¢ÉùÒôµÈ£¬ÎÒÃdzÆËüÃÇΪ×ÊÔ´£¨Resource£©¡£×î¼òµ¥µÄʹÓÃ×ÊÔ´µÄ°ì·¨ÊǰÑÕâЩ×ÊÔ´µÄÔ´Îļþ´òÈëÈí¼þ°ü£¬ÒÔ·½±ã³ÌÐòÐèÒªµÄʱºòµ÷Óá£×ÊÔ´ÊdzÌÐòµÄÒ»²¿·Ö£¬³ÌÐòÒªÕý³£ÔËÐоÍÀë²»ÁË×ÊÔ´Îļþ¡£µ«ÊÇËüÊDz»¿ÉÖ´ÐдúÂë¡£
&n ......