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

TOP

ÓÐЧµÄʹÓúÍÉè¼ÆCOMÖÇÄÜÖ¸Õë¨DÌõ¿î5£ºÁ˽â_com_ptr_t µÄÉè¼Æ±³ºó(ËÄ)
2014-11-23 23:18:06 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:9´Î
Tags£ºÓÐЧ ʹÓà Éè¼Æ COM ÖÇÄÜ Ö¸Õë Ìõ¿î Á˽â _com_ptr_t ±³ºó
5.dll
// compiler-generated file created 08/22/11 at 14:19:31 - DO NOT EDIT!
// interface _Collection wrapper method implementations
#pragma implementation_key(1)
inline long _Collection::GetCount ( ) {
long _result;
HRESULT _hr = get_Count(&_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _result;
}
#pragma implementation_key(2)
inline IUnknownPtr _Collection::_NewEnum ( ) {
IUnknown * _result;
HRESULT _hr = raw__NewEnum(&_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return IUnknownPtr(_result, false);
}
...
// Created by Microsoft (R) C/C++ Compiler Version 12.00.8168.0 (a2f27f36).
//
// d:\....\debug\msado15.tli
//
// Wrapper implementations for Win32 type library C:\....\ado\msado15.dll
// compiler-generated file created 08/22/11 at 14:19:31 - DO NOT EDIT!
// interface _Collection wrapper method implementations
#pragma implementation_key(1)
inline long _Collection::GetCount ( ) {
long _result;
HRESULT _hr = get_Count(&_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _result;
}
#pragma implementation_key(2)
inline IUnknownPtr _Collection::_NewEnum ( ) {
IUnknown * _result;
HRESULT _hr = raw__NewEnum(&_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return IUnknownPtr(_result, false);
}
...
΢Èí²¢²»Ï£ÍûÄãÈ¥¶Á¶®ÕâÁ½Ì×Îļþ£¬Ò²¸ü²»Ö¸ÍûÄãÈ¥ÐÞ¸ÄËûÃÇ¡£×¢ÊÍÖдóЩµÄ¡°DO NOT EDIT!¡±¿Ï¶¨»áÈÃÄã´òÏûÕâ¸öÄîÍ·¡£µ«ÊÇ´Ómsado15.tlhÖÐÄã¿Ï¶¨·¢ÏÖÈç´ËÇ×ÇÐÇÒÊìϤµÄÓï¾äÁË£º

view plaincopy to clipboardprint //
// Smart pointer typedef declarations
//
_COM_SMARTPTR_TYPEDEF(_Collection, __uuidof(_Collection)); //Ŷ~ Ì«ÑÛÊìÁË£¡
_COM_SMARTPTR_TYPEDEF(_DynaCollection, __uuidof(_DynaCollection));
_COM_SMARTPTR_TYPEDEF(_ADO, __uuidof(_ADO));
//
// Smart pointer typedef declarations
//
_COM_SMARTPTR_TYPEDEF(_Collection, __uuidof(_Collection)); //Ŷ~ Ì«ÑÛÊìÁË£¡
_COM_SMARTPTR_TYPEDEF(_DynaCollection, __uuidof(_DynaCollection));
_COM_SMARTPTR_TYPEDEF(_ADO, __uuidof(_ADO));
Ŷ~ Õâ¸öÔ¤´¦ÀíÃüÁȻÓÃÀàÐÍ¿âÉú³ÉÁË_com_ptr_tµÄÖÇÄÜÖ¸Õë´úÂ룡Èç¹ûÄãÍü¼ÇÁË_COM_SMARTPTR_TYPEDEFÊÇÈçºÎÌØÒ컯һÌ×ÖÇÄÜÖ¸ÕëµÄ¹ý³Ì£¬Çë»Ø¹ËÒ»ÏÂÌõ¿î2¡£ÕâÖÖ½«Ä³¸ö±àÒëÔ¤´¦ÀíÃüÁîÓëÆäÌØ¶¨¹¦ÄܵĴúÂë°ó¶¨µ½Ò»ÆðµÄÐÐΪ£¬È·ÊµºÜÉÙ¼û¡£Òò´ËÄãÒ²±ðÖ¸Íû#importÊÇ¿ÉÒÆÖ²µÄ£¬ÊÂʵÉÏCOM×é¼þÒ²ÎÞ·¨ÒÆÖ²µ½ÆäËûƽ̨ÉÏÈ¥¡£

µ«ÄãËÆºõDZÔڵĸоõµ½ÁË£¬COM¡¢_com_ptr_tºÍ±àÒëÆ÷£¨Ó¦¸ÃÊDZàÒëÆ÷µÄÔ¤´¦ÀíÆ÷£©´æÔÚÓëijÖÖ¹ØÁª¡£È·ÊµÈç´Ë£¬Î¢ÈíÔÚÌá³öCOMÖ®ºó£¬¶ÔVC±àÒëÆ÷¼ÓÈëµÄ¶ÔCOMµÄÖ§³Ö¡£¶øVB¡¢delphi¡¢java scriptÔò¸üÊÇÔÚÓï·¨²ãÃæÉÏÖ§³ÖCOM£¨ÊÂʵÉÏ£¬ËûÃǶ¼ÓÐÒ»¸öÖ§³ÖCOMµÄÔËÐÐʱ£¬ÓÃÒÔÖ§³ÖCOMµÄÕâÐ©ÌØÐÔ¡¾8¡¿£©£¬ÔÚÄÇÀïûÓÐÖÇÄÜÖ¸ÕëÕâһ˵¡£Ö¸ÏòCOM½Ó¿ÚµÄ±äÁ¿¼´ÎªÖÇÄÜÖ¸Õë¡£²»ÈçÈÃÎÒÃÇÀ´¿´Ò»¿´Ò»¶ÎVB´úÂë¡£Ëû»òÐí»áÈÃÎÒÃǸüºÃµÄÀí½â_com_ptr_tÕâÌ×ÖÇÄÜÖ¸Õ룺

view plaincopy to clipboardprint dim objVar as MyClass
set objVar = new MyOtherClass
objVar.DoSomething
dim objVar as MyClass
set objVar = new MyOtherClass
objVar.DoSomething
ÎÒµÄVB¹¦µ×ʵÔÚ²»ÔõôºÃ£¬µ«ÉÏÃæ¼¸ÐдúÂë×ãÒÔÈÃÒ»¸öCOM×é¼þ¹¤×÷¡£ÎÒÃǽøÒ»²½ÅÙÎöÒ»ÏÂËüµÄÔËÐйý³Ì£º

1.Ê×ÏÈËü¶¨ÒåÁËÒ»¸öÃûΪobjVar µÄ±äÁ¿£¬ÀàÐÍΪmyClass¡£

2.ʵÀý»¯Ò»¸öMyOtherClassµÄCOM×é¼þ£¬²¢ÇÒ½«Æä¸³Öµµ½objVar Ö®ÉÏ¡£

3.objVarÖ´ÐÐÏàÓ¦µÄDoSomethingº¯Êý¡£

Äã»ò»áÎÊ£¬µÚ¶þ²½ÖÐset objVar = new MyOtherClassµÈºÅ×óÓÒÁ½±ßÀàÐÍÊÇÓи¸×Ó¹ØÏµÂð£¿Èç¹ûûÓУ¬ÄÇVB±àÒëÆ÷»¹»áÔÊÐíËüͨ¹ý±àÒ룿

ÔÚVBÖÐMyClass Óë MyOtherClassȷʵ²»ÐèÒªÓÐÈκιØÏµ£¬ÆäʵֻҪMyOtherClass±³ºóÒþ²ØµÄ×é¼þʵÏÖÁËMyClass ×ÅÕâÖÖÀàÐ͵Ľӿڣ¬ÄÇô³ÌÐò½«ÕýÈ·µÄ¹¤×÷ÏÂÈ¥¡£Èç¹û£¬²»Ö§³ÖÄØ£¿ÄÇËû»áÅ׳öÒ»¸öÔËÐÐʱµÄÒì³££¬µÈ´ý³ÌÐòԱȥ´¦ÀíËü¡£

Èç¹ûÕâÖÖÈõÀàÐ͵ÄÓïÑÔÓ°ÏìÄãµÄÔĶÁ£¬Äã²»·Á½«objVarÊÓ×÷ÊÇ_com_ptr_tµÄÒ»¸öʵÀý¡£È»ºóÎÒÃÇÉÔ΢ÓÃC++µÄÓï·¨ÖØÐÂʵÏÖÒÔÉϹý³Ì£¬¿´¿´·¢ÉúÁËʲô¡£

view plaincopy to clipboardprint _COM_SMARTPTR_TYPEDEF(MyClass, __uuidof(MyClass));
_COM_SMARTPTR_TYPEDEF(MyOtherClass, __uuidof(MyOtherClass));
MyClassPtr spMyClass = NULL; //dim objVar as MyClass
MyOtherClassPtr spMyOtherCla

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

ÆÀÂÛ

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