ÔÚDelphiºÍVCÖд´½¨ºÍµ÷Óö¯Ì¬Á´½Ó¿â
´ó¼ÒÔÚÈí¼þ¿ª·¢Ê±¾³£»áÓöµ½ÕâÑùµÄÇé¿ö£¬ÔÚ²»Í¬µÄ¿ª·¢»·¾³ÖÐΪʵÏÖһЩ¹¦ÄÜÏàͬµÄ¹ý³Ì£¬ÓÉÓÚ¿ª·¢ËùʹÓõÄÉè¼ÆÓïÑÔ²»Í¬£¬Òò¶ø²»µÃ²»±àдÐí¶àÀàËÆµÄ´úÂ룬ÉõÖÁÓÐʱҪÔÚͬһ¸ö¿ª·¢»·¾³²»Í¬ÏîÄ¿ÖÐÖØÐ´´úÂ룬Õâ¾ÍÔì³ÉÁ˺ܴóµÄ×ÊÔ´ÀË·Ñ¡£¶¯Ì¬Á´½Ó¿âÄܽϺõĽâ¾öÕâ¸öÎÊÌâ£¬ÖØ¸´ÀûÓôúÂ뽫´ó´óÌá¸ßÁË¿ª·¢Ð§ÂÊ¡£Ò»°ã£¬Óû§ÔÚÓ¦ÓóÌÐòÖлùÓÚÈçÏÂÒªÇó´´½¨ºÍʹÓÃDLL£º
¡¡¡¡1. ÔÚ²»Í¬µÄ¿ÉÖ´ÐÐÎļþÖ®¼ä¹²ÏíµÄ³ÌÐò£»
¡¡¡¡2. ÔÚÉè¼ÆÓ¦ÓóÌÐòʱ£¬½«Æä²ð·Ö³É¸÷¸öÏ໥¶ÀÁ¢¹¦Äܲ¿¼þ£¬ÎªÒÔºóÕâЩ¹¦Äܲ¿¼þ¸÷×ÔÉý¼¶Ìṩ·½±ãµÄ;¾¶¡£
¡¡¡¡¶¯Ì¬Á´½Ó¿â½«¹²Ïí³ÌÐò»ò¹¦Äܲ¿¼þ×ö³É¿âÖеĺ¯Êý£¬ÐγÉDLLÎļþ£¬ÆäËüÓ¦ÓóÌÐòͨ¹ýʹÓÃDLLµ÷ÓÃÕâЩº¯Êý¡£ÔÚÕâÀォ¶ÔDelphiºÍVCÖд´½¨ºÍʹÓö¯Ì¬Á´½Ó¿âµÄ·½·¨×öÒ»½éÉÜ¡£DelphiºÍVC¶¨ÒåµÄ¶¯Ì¬Á´½Ó¿â¾ù¿ÉÔÚÁ½ÕߵĿª·¢»·¾³ÖÐʹÓá£
¡¡¡¡Ò»¡¢ ÓÃDelphi´´½¨DLL
¡¡¡¡DelphiµÄDLL´´½¨²¢²»¸´ÔÓ£¬ÏÂÃæÏò´ó¼Ò½éÉÜDelphiµÄDLL´´½¨·½·¨¡£
¡¡¡¡£¨1£©Ê×ÏÈ´´½¨Ò»¸öеÄDLLÏîÄ¿(NewProject)project1£¬ÎļþÍ·²¿Îª£º
library Project1;
¡¡¡¡£¨2£©USESÓï¾äºóÃæ¼ÓÈëExPortsÓï¾ä£¬Ö¸Ã÷µ÷ÓÃDLLµÄº¯ÊýÃû£¬ÐÎʽΪ£º
exports
checkpwd name 'checkpwd';
¡¡¡¡£¨3£©ÔÚDLLµÄPasÎļþÖÐType......Endºó¼ÓÈë¸ÃDLLµÄº¯Êý»ò¹ý³ÌµÄÉùÃ÷£¬ÐÎʽÈçÏ£º
FunctionName(argment):Boolean;export;
¡¡¡¡
¡¡¡¡¸Ãº¯ÊýÒ²¿ÉÒÔ´æÔÚÓÚÁíÒ»¸öpasÎļþÖУ¨ÈçUnit1.pas£©£¬´ËʱֻÐèÔÚÏîÄ¿ÎļþÖмÓÈ룺
uses
Unit1 in 'Unit1.pas' {Form1};
¡¡¡¡ÖµµÃ×¢ÒâµÄÊÇ£¬¸Ãº¯Êý»ò¹ý³ÌÓ¦¼ÓÈë´°ÌåµÄCreateºÍFree(²úÉúºÍÊÍ·Å)·½·¨¡£
¡¡¡¡£¨4£©¶ÔÏîÄ¿½øÐбàÒë¼´ÐγÉDLLÎļþ£¬¿É±»ÆäËüÏîÄ¿µ÷Óá£
¶þ¡¢DelphiÖÐDLLµÄµ÷ÓÃ
¡¡¡¡µ÷ÓÃDLLÓÐÁ½ÖÖ·½·¨£¬Ò»ÖÖÊÇÔÚÓ¦ÓóÌÐò×°ÔØÊ±µ÷Óã¬ÁíÒ»ÖÖÊÇÔÚÓ¦ÓóÌÐòÔËÐÐʱµ÷Óá£
¡¡¡¡(1) ×°ÔØÊ±µ÷ÓÃDLL
¡¡¡¡ÔÚµ÷ÓÃDLLµÄPasÎļþÖУ¬¶ÔDLLº¯Êý½øÐÐÍⲿÉùÃ÷£¬ÉùÃ÷ӦλÓÚImplementationºó£¬ÐÎʽÈçÏ£º
Implementation
Function functionname(argment):Boolean;far;External 'DllName';
¡¡¡¡
¡¡¡¡ÆäÖÐExternal¹Ø¼ü×ÖºóÃæµÄÒýºÅÄÚÊÇDLLµÄÎļþÃû£¬¸ÃÎļþÒ»°ãÓ¦·ÅÔÚϵͳµÄsystemĿ¼Ï£¬»òÓëµ÷ÓÃËüµÄÏîĿͬһĿ¼¡£ÉùÃ÷ÒÔºó¼´¿ÉÔÚPasÎļþÈκεط½ÒýÓÃDLLº¯Êý¡£
¡¡¡¡×°ÔØÊ±µ÷ÓÃDLLµÄÓŵãÊÇËٶȽϿ죬³ÌÐò¼äÒ²¿É¹²Ïí´úÂë¡£
¡¡¡¡(2) ÔËÐÐʱµ÷ÓÃDLL
¡¡¡¡DLLµÄÁíÒ»ÖÖµ÷Ó÷½·¨ÊÇÔÚÔËÐÐʱµ÷Óá£ÕâÖÖ·½·¨Òªµ÷Óõ½WindowsµÄAPIº¯ÊýLoadLibrary£¬GetProcAddress£¬FreeLibrar
Ïà¹ØÎĵµ£º
function ExpCalc(exp: string): string;
var
vScript: Variant;
begin
vScript := CreateOleObject('ScriptControl');
vScript.Language := 'VBScript';
Result := vScript.Eval(exp);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=ExpCalc('100 *4.17/0.5*(55. ......
1>ÏòÖ¸¶¨µÄÇøÓò»òÐÎ×´Ìí¼Ó³¬Á´½Ó¡£
Óï·¨
±í´ïʽ.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)
±í´ïʽ Ò»¸ö´ú±í Hyperlinks ¶ÔÏóµÄ±äÁ¿¡£
²ÎÊý
Ãû³Æ±ØÑ¡/¿ÉÑ¡Êý¾ÝÀàÐÍÃèÊö
Anchor
±ØÑ¡
Object
³¬Á´½ÓµÄλÖ᣿ÉΪ Range »ò Shape ¶ÔÏó¡£
Address
±ØÑ¡
String
³¬Á´½ÓµÄµØÖ ......
var
ExcelFile:string;
SourceRange,DesRange:Variant;
Row,Column,i:integer;
begin
if OpenDialog1.Execute then
begin
ExcelFile:=OpenDialog1.Files[0];
if not FileExists(ExcelFile) then Exit;
end
else
Exit;
try
ExcelApp:=CreateOleObject('Excel.Application');
......
DelphiµÄ·½·¨ÀàÐÍÓУº
1.¾²Ì¬·½·¨ (Static) ĬÈÏÀàÐÍ£¬¿ÉÒÔÊ¡ÂԹؼü×Ö
2.ÐéÄâ·½·¨ (Virtual)
3.¶¯Ì¬·½·¨ (Dynamic)
4.ÏûÏ¢·½·¨ (Message)
5.³éÏó·¨·½ (Abstract)
=======================================================
1£©¾²Ì¬·½·¨[static]
¾²Ì¬·½·¨ÀàËÆÓÚͨ³£µÄ¹ý³ÌºÍº¯Êý£¬±àÒëÆ÷ÔÚ±àÒëʱ¾ÍÒÑÖ¸¶¨ÁËÊä³ö¸Ã·½· ......
Èý²ã¼Ü¹¹Ö¸µÄÊǽçÃæ£¬ÒµÎñÂß¼ºÍÊý¾Ý´æ´¢·ÖÀë,²»ÊÇÖ¸ÎïÀíÉÏÊÇ·ñ·ÖÀë¡£
ÕâÑù×öµÄºÃ´¦ÊDzã´Î·ÖÃ÷£¬Î¬»¤ºÃ×ö£¬ÏµÍ³×ÊÔ´Ò²ºÃ·Ö²¼Ê½´¦Àí¡£
Êý¾Ý¿â²ãÄľͲ»ËµÁË£¬ÓÃMSSQL¡¢OrcaleËæÄãÁË£¬¾ÍÊÇÊý¾Ý·þÎñ²ã
ÒµÎñÂß¼µÄ»°Òª·ÖÎöÇå³þ£¬¾ÍÊÇÖмä²ã
½çÃæ£¬Ò²½Ð¿Í»§¶Ë¡£ÕâÀï¾ÍÊǵõ½Êý¾ÝºÍÏÔʾÊý¾ÝµÄ²¿·ÖÁË£¬²»×öÆäËü´¦Àí¡£µ«ÊÇÊý¾ÝÓÐ ......