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)
Ò³ÃæÖ´ÐÐʱ¼ä£º4.303ºÁÃë