none
想請教一下C# DDL 給ASP RRS feed

  • 問題

  • 我是使用Visual C# 2008
    製作了一個DLL給ASP呼叫用

    於是我再C# 弄了一個string[,]的回傳值給ASP
    ASP呼叫在Response.Write Ubound(arrTemp,2)可以讀出有幾筆
    但是在Response.Write arrTemp(0,0)卻顯示錯誤

    是ASP無法讀取C# 回傳的string[,]嗎?

    錯誤類型:
    Microsoft VBScript 執行階段錯誤 (0x800A000D)
    型態不符合
    /xxxxxxxx.asp, line 15

    2010年4月23日 上午 07:44

解答

所有回覆

    • 已標示為解答 RickyLiao 2010年4月26日 上午 07:22
    2010年4月23日 上午 08:00
  • 你要不要再看一下啊
    Ubound(arrTemp,2) 是代表傳回 arrTemp 這個陣列第2個使用的陣列索引。所以會有資料傳回給你。

    UBound 函數定義   ( 傳回指定陣列某維最大可使用的陣列索引。)
    http://www.ecaa.ntu.edu.tw/weifang/htmltutor/vbscript/C-VBSDOCs/VBS213.HTM

    況且,你用 arrTemp(0,0) 寫法好像怪怪的,取得/設定 陣列好像是像這樣: arrTemp[0,0]

    不知道有沒有誤會你的意思,你再試試看。


    逐步學習,逐夢踏實;腳步要踩穩,這樣下一步才不會跌倒。 http://www.dotblogs.com.tw/nobel12
    2010年4月23日 上午 08:07
  • HI,

    您可以參考以下的範例:

    COM Interop (how to pass an array to the com) via classic ASP


    其實我的目的就是DLL回傳二維陣列給ASP讀取!!

    不知道是否可行?或是該如何回傳呢?

    2010年4月23日 上午 08:15
  • 你要不要再看一下啊
    Ubound(arrTemp,2) 是代表傳回 arrTemp 這個陣列第2個使用的陣列索引。所以會有資料傳回給你。

    UBound 函數定義   ( 傳回指定陣列某維最大可使用的陣列索引。)
    http://www.ecaa.ntu.edu.tw/weifang/htmltutor/vbscript/C-VBSDOCs/VBS213.HTM

    況且,你用 arrTemp(0,0) 寫法好像怪怪的,取得/設定 陣列好像是像這樣: arrTemp[0,0]

    不知道有沒有誤會你的意思,你再試試看。


    逐步學習,逐夢踏實;腳步要踩穩,這樣下一步才不會跌倒。 http://www.dotblogs.com.tw/nobel12

    Ubound(arrTemp,2)是我取得DLL回傳陣列的筆數

    arrTemp(0,0)是顯示陣列的內容..錯誤就出現在這邊!!

    2010年4月23日 上午 08:17
  • tihs大給的連結有嘗試過嗎?

    ASP can only handle arrays that are variant, rather than arrays of strings or ints. So try using an object instead

    your method like this

    void method( object[] args )

    can't do this
    void method( string[] args )


    Welcom to my personal blog:http://www.dotblogs.com.tw/ricochen/Default.aspx
    2010年4月23日 上午 11:51
  • Response.Write TypeName(arrTemp(0,0))

    把結果貼出來。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年4月23日 下午 12:47
  • tihs大給的連結有嘗試過嗎?

    ASP can only handle arrays that are variant, rather than arrays of strings or ints. So try using an object instead

    your method like this

    void method( object[] args )

    can't do this
    void method( string[] args )


    Welcom to my personal blog:http://www.dotblogs.com.tw/ricochen/Default.aspx

    好的感謝~我在試試看!
    2010年4月24日 上午 05:28
  • 感謝各位回覆!我已經TRY出來了!!
    大致上是這樣!給有需要的人參考..

    public object GetArrayList(){

        object[,] result=new object[1,1];
        result[0,0]="test";
        return (object)result;

    }

    2010年4月26日 上午 07:24