ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

ÓÐЧµÄʹÓúÍÉè¼ÆCOMÖÇÄÜÖ¸Õë¨DÌõ¿î5£ºÁ˽â_com_ptr_t µÄÉè¼Æ±³ºó(Èý)
2014-11-23 23:18:06 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:4´Î
Tags£ºÓÐЧ ʹÓà Éè¼Æ COM ÖÇÄÜ Ö¸Õë Ìõ¿î Á˽â _com_ptr_t ±³ºó
ss(CLSID_MYOTHERCLASS);
spMyClass = spMyOtherClass; //set objVar = new MyOtherClass
spMyClass.DoSomething(); //objVar.DoSomething
_COM_SMARTPTR_TYPEDEF(MyClass, __uuidof(MyClass));
_COM_SMARTPTR_TYPEDEF(MyOtherClass, __uuidof(MyOtherClass));
MyClassPtr spMyClass = NULL; //dim objVar as MyClass
MyOtherClassPtr spMyOtherClass(CLSID_MYOTHERCLASS);
spMyClass = spMyOtherClass; //set objVar = new MyOtherClass
spMyClass.DoSomething(); //objVar.DoSomething


Äã»á·¢ÏÖ£¬Í¨¹ý_com_ptr_t²Ù×÷COM½Ó¿ÚµÄ·½·¨ºÍVBÖÐʹÓñäÁ¿²Ù×÷½Ó¿ÚµÄ·½Ê½¾ªÈ˵ÄÏàËÆ¡£ÐÎÈç¡°spMyClass = spMyOtherClass;¡±ÕâÑù²»Í¬ÀàÐͽӿڵIJéѯ²Ù×÷ÔÚVCÖÐͨ¹ý_com_ptr_t¶Ô¸³ÖµÔËËã·ûµÄÖØÔØ¶øÊµÏÖÁË¡£Èô²éѯ½Ó¿Úʧ°Ü£¬Í¬ÑùÊÇÅ׳öÒ»¸öÔËÐÐʱµÄÒì³£¡£

ÓÉÓÚVCȱÉÙ¶ÔCOM±ØÒªµÄÔËÐÐʱ¡¾8¡¿£¬_com_ptr_tµÄÉè¼ÆÕß¿ÉÄÜÔÚ½«COM¼¼ÊõÓÃÓÚVCÖ®ÖÐʱ£¬×öÁËÈçÏ¿¼ÂÇ£º

1.Èç¹ûVBÄܹ»¼æÈݵĶ«Î÷£¬VCÒ²ÒªÄÜʹÓá£Òò´Ë#importµÄ³öÏÖʹµÃVCͨ¹ý_com_ptr_t·½±ãµÄµ¼ÈëÀàÐͿ⡣

2.VB²ÉÓõĽӿڲéѯºÍʹÓ÷½Ê½VCÒ²Ó¦µ±¿ÉÒÔ²ÉÓá£Òò´Ë_com_ptr_tÖØÔØÁ˸³ÖµÔËËã·ûÀ´²éѯ½Ó¿Ú¡£ÖØÔضàÖÖ¹¹Ô캯ÊýÓÃÒÔÏñVBÄÇÑù´´½¨¶ÔÏó¡£

3.VBËù±íÏÖ³öÏÖÁ˵ÄÌØµãVCÒ²Ó¦µ±ÒÔÏàͬµÄ·½Ê½±íÏÖ³öÀ´¡£Òò´Ë½Ó¿Ú²éѯʱºò³öÏÖ´íÎó£¬_com_ptr_t»áÈçͬVBÒ»ÑùÅ׳öÒ»¸öÒì³£¡£

ËÆºõËü¾ÍÊÇΪÁËÄܹ»ÓëVB»òÕßDelphiÒÔÏàËÆµÄÓï·¨»ò»úÖÆÀ´²Ù×÷COM½Ó¿Ú¶ø´æÔڵġ£Òò´ËËûÔںܶàÇé¿öÏÂÓÐÎ¥C/C++µÄÔ¼¶¨£¨ÈçËü¿ÉÄÜ»áÔÚ¸³ÖµÔËËã·ûÖÐÅ׳öÒ»¸öÒì³££©¡£µ«ÕâÖÖÌØÐÔ¿ÉÒÔʹµÃ´úÂë¸ü¼ÓÈÝÒ×±»¸´Óã¬Ñ§Ï°ÖÇÄÜÖ¸ÕëµÄʱ¼äÒ²µÃÒâËõ¶Ì¡£

_com_ptr_tµÄ´æÔÚʹµÃ²»Í¬ÓïÑÔ²Ù×÷COM½Ó¿ÚµÄ·½Ê½µÃµ½ÁËͳһ¡£ËûµÄÉè¼Æ¸´ÔÓ£¬¹¦ÄÜÇ¿´ó¡£Ê¹µÃVC¿ÉÒÔÓëÆäËûÓïÑÔÒ»Ñù·½±ãµÄʹÓÃÀàÐͿ⡣µ±È»×·ÇóÕâÖÖͳһÐÔҲʹµÃËû±©Â¶³öÁËÏ൱¶àµÄÎÊÌ⣨ÈçÌõ¿î7ÖÐ×Ô¶¯½Ó¿Ú²éѯ´øÀ´µÄ·çÏÕ£©¡£

µ«²»¹ÜËüÈçºÎ£¬´ËʱÄãÖªµÀÁËËüµÄÉè¼ÆÒâͼ¡£Õâ»á°ïÖúÄãÀí½âÕâÌ×ÖÇÄÜÖ¸ÕëµÄÆäËûϸ½Ú¡£

×÷Õß¡°liuchang5µÄרÀ¸¡±

Ê×Ò³ ÉÏÒ»Ò³ 1 2 3 4 ÏÂÒ»Ò³ βҳ 3/4/4
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£º¹ØÓÚCÓïÑÔÖжÔÊý×éȡַµÄÎÊÌâ ÏÂһƪ£ºÓÐЧµÄʹÓúÍÉè¼ÆCOMÖÇÄÜÖ¸Õë¨DÌ..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ: