[スレッド全体]

2014/2/14 (金) 19:42:20 anonymous  
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MANMJS; rv:11.0) like Gecko
[2130] GetDocumentation
掲示板で指摘されているGetDocumentationの問題は
http://sourceforge.net/p/sakura-editor/patches/152/
の最後のコメントで答えが出てますが放置されてますね。

実行確認してないので申し訳ないですが、以下のような感じだと思います。

virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDocumentation(
/* [in] */ MEMBERID memid,
/* [out] */ BSTR __RPC_FAR *pBstrName,
/* [out] */ BSTR __RPC_FAR *pBstrDocString,
/* [out] */ DWORD __RPC_FAR *pdwHelpContext,
/* [out] */ BSTR __RPC_FAR *pBstrHelpFile)
{
  // Feb. 08, 2004 genta
  // とりあえず全部NULLを返す (情報無し)
  if(pBstrName != NULL) *pBstrName = SysAllocString(m_MethodsRef[memid].Name)
; //これでいいのかな?
  //if(pBstrName != NULL) *pBstrName = SysAllocString(L"");
  if(pBstrDocString != NULL) *pBstrDocString = SysAllocString(L"");
  if(pdwHelpContext != NULL) *pdwHelpContext = SysAllocString(L"");
  if(pBstrHelpFile != NULL) *pBstrHelpFile = SysAllocString(L"");
  return S_OK ;
}

少なくとも元のpBstrName = NULL;はスタック上の変数を書き換えてるだけです。

ActiveScriptRubyの呼び出し側は
https://github.com/arton/RScript20
のeventsink.cppの111行目あたりです。
最後のコメントに掲載されてるコードと同じでした。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.000]