Delphi ÀàÓë¶ÔÏóÄÚ´æ½á¹¹Ç³Îö(ÏÂ)
¶ÔÏó¿Õ¼ä
ÄÚ´æ½á¹¹
¶ÔÏóµÄÄÚ´æ½á¹¹Êǹ̶¨µÄ£¬¶ÔÏó´´½¨Íê³Éºó¾ÍÎÞ·¨¸Ä±ä¡£ËüÖ÷Òª´æ´¢Á˶ÔÏóÖ±ÊôÀàµÄµØÖ·£¨µÈ¼ÛÓÚÀàµÄVMT£©£¬¶ÔÏó±¾ÉíµÄ³ÉÔ±Êý¾Ý£¬¶ÔÏóµÄ½Ó¿Ú·½·¨±íµØÖ·¡£½á¹¹ÈçͼËùʾ£º
˵Ã÷£ºÈôÀàδÉùÃ÷½Ó¿Ú£¬Ôò¶ÔÏó¿Õ¼ä²»´æ´¢½Ó¿Ú·½·¨±íµØÖ·¡£
Àà¿Õ¼äÓë¶ÔÏó¿Õ¼äµÄ¹ØÏµ
Àà¿Õ¼äÓë¶ÔÏó¿Õ¼ä£º
ʾÀý£º·ÖÎö¶ÔÏóµÄ»ù±¾ÄÚ´æ½á¹¹
´úÂ룺
type
IMyInterface = interface(IUnknown)
['{06F3EA2C-E9C2-410E-97BE-D88ADF775EC3}']
procedure InterfaceMethod1;
end;
TMyObject = class(TInterfacedObject,IMyInterface)
private
FField1: Integer;
FField2: Boolean;
protected
procedure InterfaceMethod1;
public
procedure DynamicMethod1; dynamic;
procedure DynamicMethod2; dynamic;
procedure VirtualMethod1; virtual;
procedure VirtualMethod2; virtual;
end;
TMyObject2 = class(TMyObject)
private
FField3: Integer;
public
procedure DynamicMethod1; override;
procedure VirtualMethod1; override;
end;
ÄÚ´æ½á¹¹£º
TInterfacedObjectÄÚ´æ½á¹¹Èçͼ£º
TMyObjectÄÚ´æ½á¹¹Èçͼ£º
TmyObject2ÄÚ´æ½á¹¹Èçͼ£º
Èçͼ£¬TMyObject2µÄVirtualMethod1·½·¨¸²¸ÇÁ˸¸ÀàµÄVirtualMethod1·½·¨£¬¹ÊÐé·½·¨±íÖÐVirtualMethod1µÄÖ¸ÕëÖ¸ÏòÁËTMyObject2µÄVirtualMethod1·½·¨¡£TMyObject2µÄDynamicMethod1·½·¨¸²¸ÇÁ˸¸ÀàµÄDynamicMethod1·½·¨£¬ÓÉÓÚ¶¯Ì¬·½·¨±íÖ»±£´æµ±Ç°ÀàµÄ¶¯Ì¬·½·¨±í£¬¹Ê±íÖÐÖ»ÓÐÒ»¸öDynamicM
Ïà¹ØÎĵµ£º
//¼Óһϰ´Å¥£¬¼ÓÒ»¸ö¶Ô»°¿ò¾ÍOKÀ²
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
if OpenDialog1.Execute then
begin
s := OpenDialog1.FileName;
WinExec( PChar(s), SW_NORMAL);
end;
end;
----------------------- ......
▼¡øDelphiÃæÏò¶ÔÏó±à³ÌµÄ20Ìõ¹æÔò(×ªÔØ)
Â¥Ö÷ZyxIp£¨¾øÍûÖÐ...£©2003-09-02 14:28:07 ÔÚ Delphi / VCL×é¼þ¿ª·¢¼°Ó¦Óà ÌáÎÊ
×÷Õß¼ò½é
Marco CantuÊÇÒ»¸öÖªÃûµÄDelphiר¼Ò£¬ËûÔø³ö°æ¹ý¡¶¾«Í¨Delphi¡·ÏµÁдÔÊ飬¡¶Delphi¿ª·¢ÊֲᡷÒÔ¼°µç×ÓÊé¡¶¾«Í¨Pascal¡·(¸Ãµç×ÓÊé¿ÉÔÚÍøÉÏÃâ·Ñ»ñµÃ)¡ ......
delphiÖ¸Õë¼òµ¥ÈëÃÅ:
¿´Ò»¸öÖ¸ÕëÓ÷¨µÄÀý×Ó£º
1 var
2 X, Y: Integer; // X and Y ÕûÊýÀàÐÍ
3 ......
ÔÚ´°ÌåµÄOnMouseDownʼþÖмÓÈëÏÂÃæ¼¸ÐдúÂë¼´¿É
If Button = mbleft Then
begin
ReleaseCapture;
SendMessage(MainForm.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
end;
Èô´°ÌåµÄ±íÃæ±»±ðµÄ¿Ø¼þÂĸǵô£¬ÔòÐèÒª°ÑÉÏÃæµÄ´úÂë¼ÓÈëÂĸǵĿؼþÀïÃæ¡£ ......