IEコンポーネントを使い倒すスレ Ver.2
at TECH
383:374
07/12/16 19:30:09
>>382は漏れ。
あと気になることが。
IHTMLDocument2#writeサンプルの後半部分
hresult = SafeArrayAccessData(sfArray,(LPVOID*) & param);
param->vt = VT_BSTR;
param->bstrVal = bstr;
hresult = SafeArrayUnaccessData(sfArray);
hresult = document->write(sfArray);
cleanup:
SysFreeString(bstr);
if (sfArray != NULL) {
SafeArrayDestroy(sfArray);
}
たいていは大丈夫なんだけど大量にdocument->write呼んでたら
SafeArrayDestroy(sfArray);
で、heapが壊れたとかで落ちた。
で、cleanupのとこをこうしたら落ちなくなった。
cleanup:
if (bstr != NULL) {
SysFreeString(bstr);
hresult = SafeArrayAccessData(sfArray,(LPVOID*) & param);
param->vt = VT_BSTR;
param->bstrVal = NULL;
hresult = SafeArrayUnaccessData(sfArray);
}
if (sfArray != NULL) {
SafeArrayDestroy(sfArray);
}
これはサンプルのバグかな。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4488日前に更新/145 KB
担当:undef