2011-07-04 16 views
4

私はcomを使用して、C#から古典的なASPに配列を返そうとしています。 This post helped me lotが、私はまだ問題を抱えて:私の出力がある戻り値配列C#から古典的なASPのCOMと

dim responseArray1 

responseArray1 = RegusSoapComponent.returnStuff() 

response.write("Type of Array one is " & VarType(responseArray1)) 
response.write("Type of Array one is " & responseArray1(1)) 

response is Type of Array one is 8204 

私はC#で次のような方法があります。

public object[] returnStuff() { 
    return new object[] {'1','2','3'}; 
} 

を私の従来のASPを

Microsoft VBScriptランタイムエラー '800a01ca'

変数がどんなに私は何をすべきかではない

VBScriptの

でサポートオートメーション型を使用していない、私は、この変数にアクセスすることはできていないようです。

+0

return new object [3] {'1'、 '2'、 '3}}; ? – Gage

+0

@Gage:実行時に何の違いもありません。 – SLaks

+0

@SLaks、私はそれがどちらかとは思わないが、彼と彼が投稿した例の間に見られる唯一の違いだ。 – Gage

答えて

4

VBScriptは、バリアントのセーフアレイを含むバリアントを受け取るのが好きです。したがって、オブジェクトの配列をラップするオブジェクトを返す必要があります。例:

public object returnStuff() { 
    return new object[] {'1','2','3'}; 
} 

正しい方法でマーシャリングする必要があります。詳細なバージョンについては、a previous answerを参照してください。

関連する問題