Jscript on C++その後

こないだ見つけたJscriptをC++上で動かすサンプルは、コンパイルもできるし、実行もできるが、実行後にエラーが起こった。ちょっといじっているウチに、CoUninitializeの実行に失敗していることがわかった。なんでだろうなぁ、と思っていたが、答えらしきページを見つけた。

なるほど、デストラクタで解放処理している場合があるという指摘。なので、CoInitializeとCoUninitializeの間のコードをブロックで囲ってコンパイルしてみたら、見事に動くようになった。スコープが限定されて、CoUninitializeの前にデストラクトされた模様(多分)。で、問題のオブジェクトはどれだろう?
それはさておき、デストラクタでのリソース解放はやはり問題があるなぁと。この辺は、中途半端に自動化されるとめんどくさいことになるようだ。リソースの取得解放処理も、言語側でうまく扱えるようにならないかな。ちゃんとドキュメントがまとまってればすむ話ではあるけど。