0

VB.NETでC++DLLファイルを使用する必要があります。以下は、DLLファイルのダンプビンです。

D:\Program Files\Microsoft Visual Studio 10.0\VC>dumpbin /exports d:\dll\myssort.dll
Microsoft (R) COFF/PE Dumper Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.
Dump of file d:\dll\ myssort.dll
File Type: DLL
  Section contains the following exports for MySort.dll
    00000000 characteristics
    3D3F006E time date stamp Thu Jul 25 01:00:54 2002
        0.00 version
           1 ordinal base
           1 number of functions
           1 number of names
    ordinal hint RVA      name
          1    0 00001000 MySortA7
  Summary
        1000 .data
        1000 .rdata
        1000 .reloc
        1000 .rsrc
        3000 .text

以下は、VisualBasic6.0オブジェクトブラウザに表示されている関数定義です。

Function SortA7(udtArray As udtA7Rec, nTotalItems As Long) As Long
    Member of MySort. MySort
    Sort the elements of A7-type array

VB.NETでこのメソッドを呼び出すにはどうすればよいですか?

DLLのインポートを試してみました:

<DllImport("MySort.dll", _
SetLastError:=True, CharSet:=CharSet.Auto)>
Public Function SortA7(ByVal udtArray As MySort.udtA7Rec(), ByVal nTotalItems As Long) As Long
End Function

しかし、それは私にエラーを与えています:

保護されたメモリの読み取りまたは書き込みを試みました。これは多くの場合、他のメモリが破損していることを示しています。

4

1 に答える 1

1

Visual Basic 6.0 オブジェクト ブラウザに表示される場合は、COM DLL です。COM 相互運用を使用します。VB.NETで、Project Referencesに移動し、COMタブに移動して、DLL ファイルを追加します。

于 2012-10-24T08:40:46.560 に答える