none
VB6 與VB.NET 呼叫*.DLL 回傳結果不同? RRS feed

  • 問題

  • 我使用原本可以在VB6下正常使用的  協力廠商開發的DLL

    程式碼宣告如下:

     Public Declare Function GWGetReplyNum Lib "GWCFG.DLL" () As Integer

    或者使用另一種方式

     

     <DllImport("GWCFG.DLL")> Shared Function GWGetReplyNum() As Integer
        End Function

    程式可以正常執行

    但是所得到的回傳值卻大大的不同,是否需要在透過何種方式包裝一次原本的GWCFG.DLL所產生的檔案 才能正常使用呢? 

    2006年4月14日 上午 03:02

解答

  • VB 6的Integer型別是16位元的

    VB.NET的Integer型別是32位元的

    試試看用Int16來取代Integer之後,結果是不是如預期

    2006年4月14日 上午 03:06

所有回覆

  • VB 6的Integer型別是16位元的

    VB.NET的Integer型別是32位元的

    試試看用Int16來取代Integer之後,結果是不是如預期

    2006年4月14日 上午 03:06
  • 好像還是不行  ,DLL是用delphi 寫的  ,是否還有不同的差別
    2006年4月17日 上午 07:32
  • 請問,回傳值是如何的不符合預期,預期的結果又是如何?

    我之前有呼叫過自己寫的測試用DLL並沒有問題,應該跟用什麼語言寫沒有關係。

    2006年4月17日 上午 11:34