Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Delphi 쵀RTTI

Ŀ¼
===============================================================================
¡Ñ RTTI ¼ò½é
¡Ñ Àà(class) ºÍ VMT µÄ¹ØÏµ
¡Ñ Àà(class)¡¢ÀàµÄÀà(class of class)¡¢Àà±äÁ¿(class variable) µÄ¹ØÏµ
¡Ñ TObject.ClassType ºÍ TObject.ClassInfo
¡Ñ is ºÍ as ÔËËã·ûµÄÔ­Àí
¡Ñ TTypeInfo – RTTI ÐÅÏ¢µÄ½á¹¹
¡Ñ »ñÈ¡Àà(class)µÄÊôÐÔ(property)ÐÅÏ¢
¡Ñ »ñÈ¡·½·¨(method)µÄÀàÐÍÐÅÏ¢
¡Ñ »ñÈ¡ÓÐÐòÀàÐÍ(ordinal)¡¢¼¯ºÏ(set)ÀàÐ굀 RTTI ÐÅÏ¢
¡Ñ »ñÈ¡ÆäËüÊý¾ÝÀàÐ굀 RTTI ÐÅÏ¢
===============================================================================
±¾ÎÄÅŰæ¸ñʽΪ£º
    ÕýÎÄÓÉ´°¿Ú×Ô¶¯»»ÐУ»ËùÓдúÂëÒÔ 80 ×Ö·ûΪ±ß½ç£»ÖÐÓ¢ÎÄ×Ö·ûÒÔ¿Õ¸ñ·û·Ö¸ô¡£
(×÷Õß±£Áô¶Ô±¾ÎĵÄËùÓÐȨÀû£¬Î´¾­×÷ÕßͬÒâÇëÎðÔÚÔÚÈκι«¹²Ã½Ìå×ªÔØ¡£)
ÕýÎÄ
===============================================================================
¡Ñ RTTI ¼ò½é
===============================================================================
RTTI(Run-Time Type Information) ·­Òë¹ýÀ´µÄÃû³ÆÊÇ“ÔËÐÐÆÚÀàÐÍÐÅÏ¢”£¬Ò²¾ÍÊÇ˵¿ÉÒÔÔÚÔËÐÐÆÚ»ñµÃÊý¾ÝÀàÐÍ»òÀà(class)µÄÐÅÏ¢¡£Õâ¸ö RTTI µ½µ×ÓÐʲôÓô¦£¬ÎÒÏÖÔÚҲ˵²»Çå³þ¡£ÎÒÊÇÔÚÔĶÁ Delphi ³ÖÐø»úÖÆµÄ´úÂëÖз¢ÏÖÁ˺ܶà RTTI µÄÔËÓã¬Ö»ºÃÏ顄 RTTI ѧϰһ±é¡£ÏÂÃæÊÇÎÒµÄѧϰ±Ê¼Ç¡£Èç¹ûÄã·¢ÏÖÁË´íÎóÇë¸æËßÎÒ¡£Ð»Ð»£¡
Delphi µÄ RTTI Ö÷Òª·ÖΪÀà(class)µÄ RTTI ºÍÒ»°ãÊý¾ÝÀàÐ굀 RTTI£¬ÏÂÃæ´ÓÀà(class)¿ªÊ¼¡£
===============================================================================
¡Ñ Àà(class) ºÍ VMT µÄ¹ØÏµ
===============================================================================
Ò»¸öÀà(class)£¬´Ó±àÒëÆ÷µÄ½Ç¶ÈÀ´¿´¾ÍÊÇÒ»¸öÖ¸Ïò VMT µÄÖ¸Õë(ÔÚºóÎÄÓà VMTptr ±íʾ)¡£ÔÚÀàµÄ VMTptr µÄ¸ºµØÖ··½Ïò´æ´¢ÁËһЩÀàÐÅÏ¢µÄÖ¸Õ룬ÕâЩָÕëµÄÖµºÍÖ¸ÕëËùÖ¸µÄÄÚÈÝÔÚ±àÒëºó¾ÍÈ·¶¨ÁË¡£±ÈÈç VMTptr - 44 µÄÄÚÈÝÊÇÖ¸ÏòÀàÃû³Æ(ClassName)µÄÖ¸Õë¡£²»¹ýÒ»°ã²»Ê¹ÓÃÊýÖµÀ´·ÃÎÊÕâЩÀàÐÅÏ¢£¬¶øÊÇͨ¹ý System.pas Öж¨ÒåµÄÒÔ vmt ¿ªÍ·µÄ³£Á¿£¬Èç vtmClassName¡¢vmtParent µÈÀ´·ÃÎÊ¡£
ÀàµÄ·½·¨ÓÐÁ½ÖÖ£º¶ÔÏó¼¶±ðµÄ·½·¨ºÍÀ༶±ðµÄ·½·¨¡£Á½ÕßµÄ Self Ö¸ÕëÒâÒåÊDz»Í¬µÄ¡£ÔÚ¶ÔÏó¼¶±ðµÄ·½·¨ÖÐ Self Ö¸Ïò¶ÔÏóµØÖ·¿Õ¼ä£¬Òò´Ë¿ÉÒÔÓÃËüÀ´·ÃÎʶÔÏóµÄ³ÉÔ±º¯Êý£»ÔÚÀ༶±ðµÄ·


Ïà¹ØÎĵµ£º

Delphi ÀàÓë¶ÔÏóÄÚ´æ½á¹¹Ç³Îö(¸½¼þ2)

*ÀàµÄ¹«¿ªÊôÐÔ£¨´úÂ룩
ʾÀý£º·ÃÎÊÀàµÄpublishedÊôÐÔ
˵Ã÷£ºvmtFieldTable£¨Published Field±í£©Ö¸ÏòPublished Field±íÓÐÐòÅÅÁУ¬Ö»´æ´¢µ±Ç°ÀàµÄPublishedField±í£¬µÃµ½¸¸ÀàµÄPublished Field±íÐèÒªÍùÉϱéÀú¡£
×¢Ò⣺ֻÓÐÀàÐÍÊÇÀà»ò½Ó¿ÚµÄÊý¾Ý³ÉÔ±²Å¿É¶¨ÒåΪpublishedµÄ·ÃÎʼ¶±ð
´úÂ룺
type
    TMyO ......

DelphiÖÐÁ÷µÄʹÓ㨱ȽÏÈ«Ãæ£©

Delphi ÖÐÁ÷µÄʹÓÃ(1) Óà TMemoryStream(ÄÚ´æÁ÷) ÈëÃÅ
ǰÑÔ:
Ëùν"Á÷", ¾ÍÊÇÒ»¶ÎÊý¾Ý»òÊÇÒ»¿éÄÚ´æ;
ÔÚ½øÐÐÁ÷²Ù×÷ʱ, ÎÒÃDz»±Ø¹ØÐÄÁ÷ÖеÄÊý¾Ýµ½µ×ÊÇʲô; Ö»ÐèÒªÖªµÀÁ÷µÄ´óСºÍµ±Ç°µÄÖ¸ÕëλÖÃ. ËùÒÔÁ÷Ö»ÓÐÁ½¸öÊôÐÔ:
Size¡¢Position.
¶ÔÁ÷µÄ²Ù×÷, ²»¹ý¾ÍÊǶÁÈ¡ºÍдÈë. ËùÒÔÁ÷×îÖ÷ÒªµÄ·½·¨¾ÍÊÇ Read ºÍ Write.
Ôںܶ࿠......

Delphi Öн«¶ÔÏó×÷Ϊ²ÎÊý´«µÝµÄʹÓÃ

Delphi Öн«¶ÔÏó×÷Ϊ²ÎÊý´«µÝµÄʹÓà ¾ÙÀý·ÖÎö
2009-07-24 13:40
 
ÏÂÃæµÄµ¥»÷ʼþ£¬½«Òªµ÷ÓÃÒ»¸öÒÔ¶ÔÏóΪ²ÎÊýµÄ·½·¨£¬²¢½«½á¹ûÏÔʾ³öÀ´¡£
procedure TForm1.btn1Click(Sender: TObject);
var
lStrings: TStrings;
begin
lStrings:= TStringList.Create;
try
    lStrings.Add('chen');
&nbs ......

delphiÊý×éÖ®²ËÄñƪ


Êý×éÊÇ¿ÉÒÔͨ¹ýË÷ÒýÀ´ÒýÓõÄͬÀàÐÍÊý¾ÝµÄÁÐ±í¡£°´ÕÕ´æ´¢¿Õ¼äµÄ»ñÈ¡·½Ê½£¬Delphi
Ö§³ÖµÄÊý×éÀàÐÍÓÐÁ½ÖÖ£¬¼´¾²Ì¬Êý×éºÍ¶¯Ì¬Êý×é¡£Ëùν¾²Ì¬Êý×é¾ÍÊÇÔÚÉùÃ÷ʱ¾ÍÒѾ­È·¶¨´óСµÄÊý×éÀàÐÍ£¬¶ø¶¯Ì¬Êý×éÊÇÖ¸Æä´óСÔÚÉùÃ÷ʱ²»ÄÜÈ·¶¨µÄÊý×飬¶¯Ì¬Êý×éµÄ´óСÔÚʹÓÃʱȷ¶¨¡£
ÉùÃ÷¾²Ì¬Êý×éµÄ·½Ê½·Ç³£¼òµ¥£¬Ö»ÒªÖ¸Ã÷Êý×鳤¶ÈºÍÊý¾ÝÀàÐÍ ......

ÔÚWIN32ÖеĴ®¿ÚͨѶ£¨Delphi£©

ÔÚWIN32ÖеĴ®¿ÚͨѶ£¨Delphi£©
ÓÉÔÚWIN32²Ù×÷ϵͳÖнûÖ¹Ó¦ÓóÌÐòÏóDOSÖÐÄÇÑùÖ±½Ó·ÃÎʼÆËã»úÓ²¼þ£¬Òò´Ë£¬ÎÞ·¨ÏóÒÔǰÄÇÑù²ÉÓÃÖж϶Áд´®¿Ú¡£µ«ÊÇÔÚWIN32ÖÐÎÒÃǿɷ¢²ÉÓÃÁ½ÖÖ·½·¨·ÃÎÊ´®¿Ú£º1¡¢Ê¹ÓÃVBÖеÄMSCOMM´®¿Ú¿Ø¼þ£»2¡¢²ÉÓÃAPIº¯Êý£¬±¾ÎÄÖ÷Òª½éÉܲÉÓÃAPIº¯ÊýʵÏÖ´®¿ÚͨѶ¡£
ÓÉÓÚWM_COMMNOTIFYÏûÏ¢Òѱ»È¡Ïû£¬¹Ê±¾ÎÄ×Ô¶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ