0

シリアルポート経由でデータを送信しようとしている winform アプリケーションがあります。そこで、ネイティブ DLL を使用していますが、次のエラーが発生します。

保護されたメモリを読み書きしようとしました。これは、多くの場合、VB.Net で他のメモリが破損していることを示しています。

これが私がやっていることです:

Public Declare Function AddScreen Lib "BX_IV.DLL" _
    ( _
    ByVal nControltype As Integer, _
    ByVal nScreenNo As Integer, _
    ByVal nWidth As Integer, _
    ByVal nHeight As Integer, _
    ByVal nScreenType As Integer, _
    ByVal nPixelMode As Integer, _
    ByVal nDataDA As Integer, _
    ByVal nDataOE As Integer, _
    ByVal nRowOrder As Integer, _
    ByVal nFreqPar As Integer, _
    ByVal pCom As String, _
    ByVal nBaud As Integer, _
    ByVal pScoketIP As String, _
    ByVal nScoketPort As Integer, _
    ByVal pScreenStatusFile As String _
    ) As Integer

そして、次のように、すべてのパラメーターを使用してフォーム読み込みイベントから呼び出しています。

AddScreen _
    ( _
    CONTROLLER_TYPE_4T1, _
    SCREEN_NO, _
    SCREEN_WIDTH, _
    SCREEN_HEIGHT, _
    SCREEN_TYPE, _
    1, _
    SCREEN_DATADA, _
    SCREEN_DATAOE, _
    SCREEN_ROWORDER, _
    SCREEN_FREQPAR, _
    SCREEN_COMM, _
    SCREEN_BAUD, _
    SCREEN_SOCKETIP, _
    SCREEN_SOCKETPORT, _
    "C:\\ScreenStatus.ini" _
    )

この関数の実行中に、そのエラーが発生します。これを修正するにはどうすればよいですか?

4

0 に答える 0