Мне нужно использовать файл C ++ DLL в VB.NET. Ниже DUMPBIN для файла 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
Ниже приведено определение функции, которое отображается в обозревателе объектов Visual Basic 6.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
Но это дает мне ошибку:
Попытка чтения или записи в защищенную память. Это часто указывает на то, что другая память повреждена.
Если он отображается в обозревателе объектов Visual Basic 6.0, это COM DLL. Используйте COM Interop. В VB.NET, идти к Проект Ссылки, перейти к COM и добавьте файл DLL.
Других решений пока нет …