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ÌÐòÔ±Ìṩ¸øÓû§µÄ²Ù×÷£¬¿ÉÒÔ´ó´ó·½±ãÁ˲»Í¬²ã´ÎµÄÓû§¡£µ«ÊÇ£¬¶àÔö¼ÓÒ»ÖÖ²Ù×÷·½Ê½£¬¾ÍÒâζ×ÅÔö¼ÓÏìӦʼþµÄ´úÂë£ ......
Delphiͨ¹ýÏòµ¼¿ÉÒԷdz£Ñ¸Ëٺͷ½±ãµÄÖ±½Ó½¨Á¢ÊµÏÖCOM¶ÔÏóµÄ´úÂ룬µ«ÊÇÕû¸öCOMʵÏֵĹý³Ì±»ÍêÈ«µÄ·â×°£¬ÉõÖÁûÓÐVCLÄÇô½á¹¹ÇåÎú¿É¼û¡£Ò»¸öûÓÐC++ÏÂCOM¿ª·¢¾ÑéÉõÖÁûÓнӴ¥¹ýCOM¿ª·¢µÄDelphi³ÌÐòÔ±£¬Ò²Äܹ»ºÜÈÝÒ׵İ´Õս̳ÌÉè¼ÆÒ»¸ö½Ó¿Ú£¬µ«ÊÇ£¬¿ÖÅÂÉîÈëÒ»Ï룬Á¬Éú³ÉµÄ´úÂë´ú±íºÎÖÖÒâÒ壬ÄÄЩÄܹ»¶¨Öƶ¼²»Çå³þ¡£Ç°¼¸ÆÚ &ld ......
DELPHI Ö¸ÕëʹÓÃÓõÄһƪºÃÎÄ ÊÕ²Ø
DelphiÀï×Ô¼º¹ÜÀíÄÚ´æµÄÁ½¶Ôº¯Êý new(),dispose()ºÍgetmem(),freemem()
´ó¼Ò¶¼ÈÏΪ£¬CÓïÑÔÖ®ËùÒÔÇ¿´ó£¬ÒÔ¼°Æä×ÔÓÉÐÔ£¬ºÜ´ó²¿·ÖÌåÏÖÔÚÆäÁé»îµÄÖ¸ÕëÔËÓÃÉÏ¡£Òò´Ë£¬ËµÖ¸ÕëÊÇCÓïÑÔµÄÁé»ê£¬Ò»µã¶¼²»Îª¹ý¡£Í ......
Delphi7 µ÷Óà C#µÄWebservice ²»ÄÜ´«Èë²ÎÊý
½â¾ö°ì·¨£º
ÔÚDelphiµ¼ÈëWSDLºóÉú³ÉµÄµ¥ÔªµÄ×îºóÒ»ÐУ¬¼´initializationÀïµÄ³õʼ»¯¶Ë¿ÚµÄ´úÂëÖмÓÈë´úÂë
InvRegistry.RegisterInvokeOptions(TypeInfo(½Ó¿ÚÃû), ioDocument);
¼´¿É
......