none
如何讓dotNET CF 2003呼叫外部的DLL RRS feed

  • 問題

  • 我想讓PDA程式呼叫一個外部的DLL程式

    DLL 函數的需告如下

     

            Declare Function USBLANReadAll Lib "ULCDLL.DLL" Alias "#1" (ByVal KeyNo As Integer, ByVal lpSLPassword() As Byte, ByVal lpSLMemory() As Byte) As Short
            Declare Function USBLANWriteAll Lib "ULCDLL.DLL" Alias "#2" (ByVal KeyNo As Integer, ByVal lpSLPassword() As Byte, ByVal lpSLMemory() As Byte) As Short
            Declare Function USBLANRead Lib "ULCDLL.DLL" Alias "#3" (ByVal KeyNo As Integer, ByVal lpSLPassword() As Byte, ByVal Addr As Integer) As Short
            Declare Function USBLANWrite Lib "ULCDLL.DLL" Alias "#4" (ByVal KeyNo As Integer, ByVal lpSLPassword() As Byte, ByVal Addr As Integer, ByVal WriteByte As Integer) As Short
            Declare Function USBLANCheckOut Lib "ULCDLL.DLL" Alias "#5" (ByVal KeyNo As Integer) As Short
            Declare Function USBLANEncrypt Lib "ULCDLL.DLL" Alias "#6" (ByVal KeyNo As Integer, ByVal Seed As Integer, ByVal BLen As Integer, ByVal lpSLBuffer() As Byte) As Short
            Declare Function USBLANDecrypt Lib "ULCDLL.DLL" Alias "#7" (ByVal KeyNo As Integer, ByVal Seed As Integer, ByVal BLen As Integer, ByVal lpSLBuffer() As Byte) As Short

    當我程式執行到DLL的函數時,卻出現 MissingMethodException 的錯誤,請問我是哪裡出了錯誤?

    謝謝你的幫忙!

    2007年4月26日 上午 03:27

所有回覆

  • 你的 ULCDLL.DLL 的函數名稱都是 "#1", "#2", .... ?
    2007年4月26日 上午 03:42
  •  

    我是依照先前在.NET 1.1所使用的語法直接copy過來用的。

    這個DLL在Win Form執行並無問題,因為想讓PDA也可已有這個功能,所以直接將它copy過來用。

     

    ps:我將Alias刪除後,一樣出現相同的錯誤!

    2007年4月26日 上午 05:21
  • 你要先確定你那個 DLL 可不可以在 PDA 上用吧 ...

    PC 上可以用的 PDA 不見得可以用。

    2007年4月26日 上午 05:36
  • 謝謝你的提醒,我會跟提供DLL的廠商確認這個問題!
    2007年4月26日 上午 05:48