Windows 7 の WSH を介して、JScript から COM メソッドによって返される配列のメンバーにアクセスしようとしています。
メソッドのドキュメントは次のとおりです (C# の例として示します)。
public System.Array GetValues();
したがって、これによると、.NET System.Array が返されます。これはすべて問題ありませんが、私のコードは次のとおりです。
// report is Scripting.FileSystemObject file handle
// var is a COM object
arr = var.GetValues();
val = ??
report.WriteLine(val);
これが私が試したことです:
val = arr.Length // produces empty string
val = arr.GetLength() // "Object doesn't support this property or method"
val = arr.GetValue(0) // "Object doesn't support this property or method"
メソッドが機能しないため、明らかに System.Array オブジェクトではありません。多分それはJScript配列オブジェクトですか?
val = arr[0] // empty string
val = arr.length // empty string
val = arr.pop() // "Object doesn't support this property or method"
では、Array オブジェクトでもありませんか? 組み込み型の配列である可能性があると思います:
val = typeof(arr[0]) // "undefined"
val = typeof(arr) // "unknown"
最後の手段として、それを Vbsedit にロードしてそこにブレークポイントを設定すると、Vbsedit は 800 個の値を持つ配列を表示します! それらにアクセスする方法がわかりません。