12/21/2004

JScriptの「なぞのエラー」

宮川さんのところから。

JScript にしたいんだけど 謎のエラーでMyFriendlyName がとれないのでパス

なんだろ、と思ってみてみたら。わーこれ昔はまったっけ。

new ActiveXObjectではなく、WScript.CreateObjectを使えば解決だ!

msg = WScript.CreateObject('Messenger.UIAutomation.1');
WScript.Echo(msg.MyFriendlyName);

スクリプトエンジンのオブジェクト作成メソッド(JScriptならnew ActiveXObject、VBScriptだとCreateObject)を使うと、スレッドモデルの設定からDCOMからとにかくあらゆる問題が出るんで、ランタイムのオブジェクト作成メソッド(WSHならWScript.CreateObject、ASPならServer.CreateObject)を使わないとダメなんですよね。

なんだかなつかしいけど、いまさらながらCOMの話をほうぼうで聞くのはなんでだろうなぁ。以外にCOMの波がキテるのかも?

0 件のコメント: