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

JavaScriptµ÷ÓÃC++º¯Êý

 ÉÏÆª½éÉÜÁËÓÃC++µ÷ÓÃJavaScript£¬ÕâÆª·´¹ýÀ´ËµËµJSµ÷C++£¬ÕâÑùJSºÍC++¹µÍ¨µÄ;¾¶¾ÍÍêÕûÁË¡£
Ê×ÏÈ£¬ÊµÏÖÒ»¸öIDispatch½Ó¿Ú£¬µ±JSµ÷ÓÃC++º¯Êýʱ£¬ÏµÍ³»áµ÷ÓÃGetIDsOfNamesÀ´Óú¯ÊýÃûÈ¡µÃº¯ÊýµÄDISPID£¬È»ºóµ÷ÓÃInvokeÍê³ÉÕæÕýµÄµ÷Óã¬ÐèҪעÒâµÄÊÇInvokeµÄpDispParamsÖеIJÎÊýÊǵ¹ÐòµÄ¡£´úÂëÈçÏ£º
class CExtenalDispatch : public IDispatch
{
public:
CExtenalDispatch()
{
m_dwRef = 0;
}
~CExtenalDispatch()
{
}

STDMETHOD_(ULONG, AddRef)()
{
return InterlockedIncrement(&m_dwRef);
}
STDMETHOD_(ULONG, Release)()
{
unsigned long l = InterlockedDecrement(&m_dwRef);
if(l == 0)
delete this;
return l;
}
STDMETHOD(QueryInterface)(REFIID iid, LPVOID far* ppvObject)
{
HRESULT hrRet = S_OK;
*ppvObject = NULL;
if(IsEqualIID(iid, IID_IDispatch))
*ppvObject = (IDispatch*)this;
else
hrRet = E_NOINTERFACE;
if (S_OK == hrRet)
((IUnknown*)*ppvObject)->AddRef();
return hrRet;
}
STDMETHOD(GetTypeInfoCount)(UINT* pctinfo)
{
return E_NOTIMPL;
}
STDMETHOD(GetTypeInfo)(/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo** ppTInfo)
{
return E_NOTIMPL;
}
STDMETHOD(GetIDsOfNames)(
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId)
{
HRESULT hr = S_OK;
for (int i = 0; i < (int)cNames; i++)
{
CString cszName = rgszNames[i];
if(cszName == L"myfunction")
{
bFind = TRUE;
rgDispId[i] = 1;
break;
}
else
{
// One or more are unknown so set the return code accordingly
hr = ResultfromScode(DISP_E_UNKNOWNNAME);
rgDispId[i] = DISPID_UNKNOWN;
}
}
return hr;
}

STDMETHOD(Invoke)(
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO


Ïà¹ØÎĵµ£º

JavaScriptÃæÏò¶ÔÏó³ÌÐòÉè¼Æ(3): ¶ÔÏó

 ±¾²©¿Í×ªÔØÓÚ£ºhttp://devbean.javaeye.com/blog/404056
1. ¶ÔÏó
 
¶ÔÏóÊÇÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ»ù´¡¸ÅÄîÖ®Ò»£¬Ö»Ðè¿´¿´Õâ¸öÃû×Ö¾ÍÒѾ­ÖªµÀÁË¡£ÔÚÎÒÃÇÊìϤµÄÃæÏò¶ÔÏóÓïÑÔÖУ¬±ÈÈçJava»òÕßC++£¬¶¼ÓÐ×ÅÀàËÆµÄ¶ÔÏó¶¨Òå·½·¨¡£±ÈÈ磬ÎÒÃÇÏ붨ÒåÒ»¸öÀ࣬Ãû×Ö½ÐPerson£¬ÓÐÁ½¸öÊôÐÔ£ºnameºÍage£¬ÁíÍâÓÐÒ»¸ö·½·¨£¬½«ÏÔʾ³ ......

JavaScriptÃæÏò¶ÔÏó³ÌÐòÉè¼Æ(4): º¯Êý

 ÔںܶàÓïÑÔÖУ¬º¯Êý(JavaÀïÃæ³ÉΪ·½·¨)ºÍ¶ÔÏóʱ½ØÈ»²»Í¬µÄÁ½ÖÖ¶«Î÷¡£º¯Êý±»¶¨ÒåΪ¶ÔÏóµÄ¶¯×÷£¬»òÕßÊÇÈ«¾ÖµÄ(ÏñÔÚC++ÖеÄmainº¯ÊýÒ»Ñù)¡£µ«ÊÇÔÚJavaScriptÖУ¬º¯ÊýºÍ¶ÔÏóµÄ½çÏÞÈ´ÏԵò»ÄÇôÃ÷ÏÔ¡£
1. º¯ÊýµÄ¶¨Òå
JavaScriptÖÐÓкܶàÖÖ¶¨Ò庯ÊýµÄ·½·¨£º
Js´úÂë
function hello() { alert("Hello!"); }
var hello1 ......

javascript wrapperº¯Êý

ÔÚÉè¼ÆjavascriptµÄ¼Ì³ÐÌåϵʱ£¬ÓÐÒ»¸öÖØÒªÐèÇ󣬷½·¨Á´¡£Í¨Ë×µØËµ£¬ËµÊÇÔÚ·½·¨Öе÷Óø¸ÀàµÄͬÃû·½·¨¡£ÀàËÆjavaµÄthis.super().method()¡£ÈçºÎ°Ñ¸¸ÀàµÄͬÃû·½·¨°ü×°µ½×ÓÀàÖÐÄØ£¿Õâ¾ÍÒªÓõ½wrapperº¯Êý¡£Ö®ËùÒÔ½Ðwrapper£¬¶ø²»ÊÇwrap£¬ÒòΪËü±Èwrap¸ü¼Ówrapper¡£±ÈÈçÏñExtÄÇÖÖÉî¶È¼Ì³ÐµÄ½á¹¹ÖУ¬Èç¹û¸¸ÀàûÓÐÕÒ׿¸¸£¬×æ¸¸Ã»Ó ......

¹ØÓÚC/C++ÖÐÖ¸Õë×öÐβεÄÒ»µãС·ÖÎö(ת)

 
2009-07-26 15:50
½ñÌìÇÞÊÒµÄɽ¶«ÐÖµÜÔÚÁ·¶þ¼¶µÄÉÏ»ú£¬ÆäÖÐÒ»¸öÌâÄ¿´ó¸ÅÊÇÕâÑù£ºÔÚÒ»¸öº¯ÊýÖУ¬ÓÐÒ»¸öÖ¸ÕëÐβΣ¬¼ÇΪ*p£¬È»ºóÔÚº¯ÊýÄÚ²¿¶¨ÒåÁËÁÙʱ±äÁ¿a,aºÍ*pÊÇͬÖÖÀàÐÍ¡£¾­¹ýһϵÁмÆËã £¬aµÃµ½ÁËÒ»¸öÖµ£¬Õâ¸öÖµ×îºóÊÇÐèÒª¼Ç¼ÔÚÖ¸Õë*pÀïÃæµÄ£¬Ó¦¸ÃÔõô±£´æÄØ£¿ÎÒµ±Ê±Ëæ±ã¾Í˵£¬p=&a¡£½á¹û·¢Éú´íÎóÁË£¬Ã»Óе ......

Google¿ªÔ´JavaScript¹¤¾ß Closure

Google¿ªÔ´ÁËÆäÄÚ²¿Ê¹ÓõÄJavaScript¿ª·¢¹¤¾ßClosure£¬Ï£Íû°ïÖúÍⲿ³ÌÐòÔ±¿ª·¢³öËٶȸü¿ìµÄWebÓ¦ÓóÌÐò¡£GoogleÈÏΪͨ¹ýÔÊÐí¿ª·¢ÕßʹÓÃGoogle×Ô¼ºËùÓõŤ¾ß£¬ËûÃDz»½ö¿ÉÒÔ´´Ôì³ö¸ü¿ìµÄ¸»WebÓ¦ÓóÌÐò£¬¶øÇÒÄÜÕæÕýÈÃWeb²åÉϳá°ò¡£Closure JavaScript±àÒëÆ÷ºÍ¿âÔø±»GoogleÓÃÓÚ¿ª·¢Gmail¡¢Google Docs¡¢Google MapsÒÔ¼°ÆäËüÓ¦Ó ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ