|ScriptControlを使うと現在のActiveScriptのコンテキスト中に異なるActiveScriptのコンテキストを混在させる事が出来ます。分かりやすい例で言えば、ブラウザの中でのwindowオブジェクトはGlobalオブジェクトですが、iframe内のcontentWindowもやはりGlobalオブジェクト。従ってwindow.Objectとiframe.contentWindow.Objectは異なるコンストラクタです。ScriptControlについても同じ事が言えます。falseって感じですね。異なるGlobalオブジェクトになる訳です。WScript.Echo(e.message);}これは「引数の数が一致していません。不正なプロパティを指定しています。」などと言われて怒られます。TestObject();');は見事にTestObjectを生成する事が出来ます。TestObject();とすれば、普通に実行出来るようです。1これは問題無く出来た。当たり前かwsctl.Modules.Add("Foo");で新しいModuleを定義出来るんですけど、この時のAddメソッドの第二引数のオブジェクトが代入出来る事になってるんだけど、これの意味が分からない。(2007-10-23T02:36:47+09:00)id:nanto_viさんに頂いたコメントを折角だから本文に再掲。コンストラクタではないためですね。(sctl.Modules.Item(1).CodeObject.TestObject)()とすれば無事オブジェクトを生成できます。id:nanto_viさんのコメント今確かめたけど、確かに出来ました。ところで何故Itemで切れちゃうのかは分からない。w*1:いつも助け舟頂いて恐縮です。これは「引数の数が一致していません。不正なプロパティを指定しています。」などと言われて怒られます。コンストラクタではないためですね。(sctl.Modules.Item(1).CodeObject.TestObject)()とすれば無事オブジェクトを生成できます。id:nanto_viさんいつもありがとうございます。実はこれはとあるネタの複線だったりするんで、そう書けるとなると相当楽になりそうです。Itemで切れちゃうのかは分からない。いわれれば、new演算子の優先順位が関数呼び出しより高いからというのが答えになるでしょうか。期待したとおり動きませんし。02:42なるほどー。sarr);WScript.Echo(TypeName(sarr));実行結果。objectJScriptTypeInfo----unknownVariant()なるほど。VBArray(sarr);WScript.Echo(vbarray.toArray());その結果。|実は公式の資料が全然無い罠。