Database °æ (¾«»ªÇø)
·¢ÐÅÈË: yunguo (liuliu), ÐÅÇø: Database
±ê Ìâ: ÓÃDELPHI´´½¨DLL--×÷ÕߣºÑîºç
·¢ÐÅÕ¾: ×Ï ¶¡ Ïã (Thu Oct 1 11:14:18 1998), תÐÅ
¡¡¡¡ÕªÒª £º ±¾ÎÄÂÛÊöÔËÓÃDELPHI´´½¨¶¯Ì¬Á¬½Ó¿â£¨DLL£©¼°Æäµ÷ÓÃDLLµÄÉè¼Æ˼ÏëºÍʵÏÖ·½·¨¡£
¡¡¡¡¹Ø¼ü´Ê£ºDELPHI DLL ¶¯Ì¬Á¬½Ó¿â
¡¡¡¡ Ò»* ÒýÑÔ
¡¡¡¡
³ö×ÔPASCALµÄDELPHIÓïÑÔÒÔÆäոеÄÌصãÔÚÖÚ¶àµÄÓïÑÔ¹¤¾ßÖгÉΪһ֦¶ÀÐã¶øÊܵ½´ó¼ÒµÄÇàíù£¬ÕâЩÌصãÈçÔÚÆäÖаÑÒ»ÇÐÊÓΪ¡°¶ÔÏó¡±£¬´Ó¶ø±àдÃæÏò¶ÔÏóµÄ³ÌÐò¿ÉÒÔÖظ´Ê¹ÓÃÒÔÇ°µÄ³É¹û£»¡°¿ÉÊÓ»¯¡±±à³Ì»·¾³ÌṩͼÐλ¯¹¤¾ß¹©Óû§´´½¨ºÍµ÷Õû³ÌÐòÖеĿÉÊÓ²¿·Ö£»ÓÈΪͻ³öµÄÊÇÆðÒ»Á÷µÄ´ú
Âë±à¼Æ÷ЧÂʺͼ«Ò×À©³äµÄ¿ª·¢Æ½Ì¨£¨¿ÉʹÓø÷ÖÖVBX°æ±¾£©¡£¶¯Ì¬Á¬½Ó¿â£¨DLL£©ÔÊÐíWINDOWSÓ¦ÓóÌÐò·ÖÏí×ÊÔ´ºÍ´úÂ룬DLLÊÇÒ»¸öÄܹ»±»ËùÓÐWINDOWS³ÌÐò¹²ÏíµÄ¿ÉÖ´ÐÐÄ£¿é¡£DLLÊÇÔÚÔËÐÐÆڼ䱻Á¬½ÓµÄ£¨ÊÇÒ»ÖÖ¶¯Ì¬µÄÁ¬½Ó£©£¬¶øCÓïÑÔµÄÔËÐк¯Êý¿âÊÇÔÚ¿ÉÖ´ÐÐÎļþÉú³ÉÆÚ¼äͨ¹ýÁ¬½Ó³ÌÐòÁ
¬½ÓµÄ£¨ÊÇÒ»ÖÖ¾²Ì¬µÄÁ¬½Ó£©¡£ ÊìϤVBµÄͬ־¶¼ÖªµÀ£¬VB¿ÉÒÔµ÷ÓÃDLL£¬µ«Æä±¾Éí²»ÄÜ´´½¨DLL£¬¶øÔËÓÃDELPHIÔò¿ÉÒÔ·½±ãµØ¶¨ÖÆDLL£¬²¢µ÷ÓÃÆäÀý³Ì¡£
¡¡¡¡ ¶þ¡¤´´½¨DLL
¡¡¡¡ DELPHI°ÑÒ»¸öÏîÄ¿±àÒë³ÉÒ»¸öDLLÊÇÏ൱¼òµ¥µÄ¡£ Ê×ÏÈ£¬´ÓÕâ¸öÏîÄ¿ÖÐɾȥ³ýÏîÄ¿µ¥Ôª£¨.DPRÎļþ£©Ö®ÍâµÄËùÓе¥Ôª£¬È»ºó£¬¶ÔÕâ¸öÏîÄ¿µ¥ÔªÊµÊ©ÒÔϲ½Ö裺
¡¡¡¡1¡¤°Ñ¸Ãµ¥Ôª¶¥²¿µÄ±£Áô×Öprogram¸ÄΪlibrary¡£
¡¡¡¡2¡¤´Ó¸ÃÏîÄ¿µÄuses×Ó¾äÖÐɾȥ±íµ¥µ¥Ôª¡£
¡¡¡¡3¡¤Ôڸõ¥ÔªµÄµ×²¿É¾È¥beginºÍendÖ®¼äËùÓгÌÐò´úÂë¡£
¡¡¡¡4¡¤Ôڸõ¥Ôªµ×²¿µÄbegin֮ǰ¼ÓÈëÒ»¸öexportС½Ú¡£
¡¡¡¡ ÏÂÃæµÄ´úÂ루MyDll.Dpr£©¼´Îª¹¹ÔìµÄÒ»¸öDLL£º
¡¡¡¡{ MYDLL.DPR}
¡¡¡¡library Mydll;
¡¡¡¡uses
¡¡¡¡dialogs;
¡¡¡¡function Hobbit (value:integer): string; export;
¡¡¡¡begin
¡¡¡¡ case value of
¡¡¡¡ 1: result := 'Frodo';
¡¡¡¡ 2: result := 'Samwise';
¡¡¡¡ 3: result := 'Pippin';
¡¡¡¡ 4: result := 'Meriadoc';
¡¡¡¡ else
¡¡¡¡ result := 'Must be an Orc!';
¡¡¡¡ end;
¡¡¡¡end;
¡¡¡¡ function Larger (Val1, Val2: integer): integer; export;
¡¡¡¡begin
¡¡¡¡ if Val1 > Val2 then
¡¡¡¡ result := Val1
¡¡¡¡ else if Val2 > Val1 then
¡¡¡¡ result := val2
¡¡¡¡ else
¡¡¡¡ result := 0;
¡¡¡¡end;
¡¡¡¡ procedure Elephants;export;
¡¡¡¡begin
¡¡¡¡ ShowMessage ('Pink Elephants on Parade');
¡¡¡¡end;
¡¡¡¡exports
¡¡¡¡ Hobbit index 1,
¡¡¡¡ Larger index 2,
¡¡¡¡ Elephants index 3;
¡¡¡¡begin
¡¡¡¡end.
¡¡¡¡ ÏÂÃæµÄ´úÂ루MYIMPORT¡£PAS£©ÊÇΪMYDLL´´½¨ÒýÈë³ÌÐòµ¥Ôª£º
¡¡¡¡ {Import unit for MyDll.Dll}
¡¡¡¡unit Myimport;
¡¡¡¡interface
¡¡¡¡function Hobbit (value:Integer):string;
¡¡¡¡function Larger (val1,val2:Integer): Integer;
¡¡¡¡procedure Elephants;
¡¡¡¡ implementation
¡¡¡¡function Hobbit (value:Integer):string; external 'Mydll' index 1;
¡¡¡¡function Larger (val1,val2:Integer): Integer; external 'Mydll' index 2;
¡¡¡¡procedure Elephants; external 'Mydll' index 3;
¡¡¡¡end.
¡¡¡¡Í¨¹ýDELPHIµÄCompile\Build AllÑ¡Ï½«ÒÔÉÏ´úÂë±àÒë³ÉDLL£¨MyDll.Dll£©,ÒÔºóÎÒÃǾͿÉÒÔÏñµ÷ÓÃÈκÎÆäËûº¯Êý»ò¹ý³ÌÒ»ÑùÀ´µ÷ÓÃÕâЩÀý³ÌÁË¡£
¡¡¡¡ Èý¡¤Àý³Éµ÷ÓÃ
¡¡¡¡ ÔÚÏîÄ¿µÄÒ»¸ö±íµ¥ÖмÓÈëÈý¸ö°´Å¥ºÍÒ»¸öMemo²¿¼þ£¬ÏÂÃ漴Ϊµ÷ÓÃÉÏÊöDLLµÄDEKPHIÓ¦ÓóÌÐò´úÂ룺
¡¡¡¡ { Unit.pas}
¡¡¡¡unit Unit1;
¡¡¡¡ interface
¡¡¡¡uses
¡¡¡¡ SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
¡¡¡¡ Forms, Dialogs, StdCtrls, myimport;
¡¡¡¡type
¡¡¡¡ TForm1 = class(TForm)
¡¡¡¡ Button1: TButton;
¡¡¡¡ Button2: TButton;
¡¡¡¡ Button3: TButton;
¡¡¡¡ Memo1: TMemo;
¡¡¡¡ procedure Button1Click(Sender: TObject);
¡¡¡¡ procedure Button2Click(Sender: TObject);
¡¡¡¡ procedure Button3Click(Sender: TObject);
¡¡¡¡ private
¡¡¡¡ { Private declarations }
¡¡¡¡ public
¡¡¡¡ { Public declarations }
¡¡¡¡ end;
¡¡¡¡ var
¡¡¡¡ Form1: TForm1;
¡¡¡¡implementation
¡¡¡¡{$R *.DFM}
¡¡¡¡procedure TForm1.Button1Click(Sender: TObject);
¡¡¡¡begin
¡¡¡¡Memo1.lines.add (Hobbit(5));
¡¡¡¡end;
¡¡¡¡procedure TForm1.Button2Click(Sender: TObject);
¡¡¡¡begin
¡¡¡¡Memo1.lines.add (IntToStr(Larger(12,25)) + ' is larger than 12');
¡¡¡¡end;
¡¡¡¡ procedure TForm1.Button3Click(Sender: TObject);
¡¡¡¡begin
¡¡¡¡Elephants;
¡¡¡¡end;
¡¡¡¡end.
¡¡¡¡ { myimport.pas}
¡¡¡¡unit Myimport;
¡¡¡¡interface
¡¡¡¡ function Hobbit (value:Integer):string;
¡¡¡¡function Larger (val1,val2:Integer): Integer;
¡¡¡¡procedure Elephants;
¡¡¡¡implementation
¡¡¡¡function Hobbit (value:Integer):string; external 'Mydll' index 1;
¡¡¡¡function Larger (val1,val2:Integer): Integer; external 'Mydll' index 2;
¡¡¡¡procedure Elephants; external 'Mydll' index 3;
¡¡¡¡end.
¡¡¡¡£¨Í¼Ò»£©ÎªÔÚ¶¨ÖÆDLLÖе÷ÓÃÀý³ÌµÄÔËÐнá¹û£¨WIN95ÖУ©¡£ÓÉÓÚƪ·ùËùÏÞ£¬±¾ÎÄûÓжÔËùµ÷Óõĺ¯Êý»ò¹ý³Ì¼°Æä²ÎÊý½øÐÐÏêϸµÄ½âÊͺÍ˵Ã÷£¬¶ÁÕ߿ɲéÔÄÓйØÊé¼®¡£
¡¡¡¡²Î¿¼ÎÄÏ×
¡¡¡¡[1] Harold Davis,<>, Ëν¨ÔƵÈÒ룬µç×Ó¹¤Òµ³ö°æÉ磬1996
¡¡¡¡[2]PASCAL½Ì³Ì
¡¡¡¡
¡¡¡¡
[Ò»¾Å¾Å°ËÄêµÚÎåÆÚ]
--
¡ù À´Ô´:£®×Ï ¶¡ Ïã bbs.hit.edu.cn£®[FROM: jxjd.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
Ò³ÃæÖ´ÐÐʱ¼ä£º2.475ºÁÃë