none
win32例外狀況70x100002df4 參考指令0x000000000 記憶體 該記憶體不能為"read' RRS feed

  • 問題

  • Public Class Form1

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim iReturnCode As Short
            iReturnCode = CSAPI.rf_init_com(System.Convert.ToInt16(TextBox1.Text), 9600)
            MessageBox.Show(iReturnCode.ToString())
            Dim icdev As UInt16

            iReturnCode = CSAPI.rf_init_device_number(icdev)
            MessageBox.Show(iReturnCode.ToString())
            iReturnCode = CSAPI.rf_beep(icdev, 100)
        End Sub
       
        Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            Try

            Catch ex As Exception

            End Try
        End Sub

      
    End Class
    ------------------
    Public Class CSAPI
        Public Declare Ansi Function lib_ver Lib "MasterRD.dll" (ByRef pVer As UInt32) As Int32
        Public Declare Auto Function rf_init_com Lib "MasterRD.dll" (ByVal iport As Int32, ByVal baud As Int32) As Int32
        Public Declare Auto Function rf_get_device_number Lib "MasterRD.dll" (ByRef icdev As UInt16) As Int32
        Public Declare Auto Function rf_init_device_number Lib "MasterRD.dll" (ByVal icdev As UInt16) As Int32
        Public Declare Auto Function rf_beep Lib "MasterRD.dll" (ByVal icdev As UInt16, ByVal msec As Byte) As Int32

    End Class

    這支程式是連接RFID reader
    工程師給的一個開啟comport程式
    但是只要一執行 開啟port之後
     然後按紅色的X關閉後就出現
    [2292]中發生未處理的win32例外狀況
    還有 '偶爾'會出現
    70x100002df4 參考指令0x000000000 記憶體 該記憶體不能為"read'
    這兩個東西~ 
    我有打電話問過工程師..
    它一直堅持說 它的程式無錯誤...
    我都無言了 請大家幫幫忙 解決這令人頭痛的問題
    2010年5月30日 下午 12:19

解答

  • Hi,

    您可以先檢查一下API的宣告方式是否正確

    ByVal、ByRef、與參數的型態是否都正確


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 小蟲老師 2010年5月31日 上午 05:02
    2010年5月30日 下午 01:18

所有回覆

  • Hi,

    您可以先檢查一下API的宣告方式是否正確

    ByVal、ByRef、與參數的型態是否都正確


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 小蟲老師 2010年5月31日 上午 05:02
    2010年5月30日 下午 01:18
  • 把API的手冊先讀清楚, 然後比對資料型態, 呼叫方法以及是否在關閉前需要呼叫其它函式, 你是想過了才來發問的 ? 還是根本連想都沒想 ?
    2010年5月31日 上午 05:03
  • 也有可能是對方記憶體處理不好或是你無法正確把 dll 釋放掉,這邊有個強制釋放 dll 的你可以看看:

    http://tlcheng.spaces.live.com/blog/cns!145419920BFD55A7!2260.entry


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年5月31日 上午 10:57
  • 心冷熱情熄前輩說的沒錯

    有可能是對方工程師程式沒寫好,因為這部份我有用過,自己在使用上並沒你說的情況發生

    另外也很有可能是出在自己身上,你可能需要自己把API文件看請楚,如河蟹魂前輩講的這樣子

    搞不好是自己在使用API函式沒搞清楚。

    2010年6月18日 上午 03:38