Сначала открыл VS2008 C++, выбрал Win32 Project >> DLL.
Объявил всего одну функцию:
- Код: Выделить всё
extern "C" __declspec(dllexport) LPVOID GetPointer(LPVOID lp){return lp;}
В VB.NET импортировал следующим образом:
- Код: Выделить всё
Public Declare Auto Function VarPtr Lib "VarPtr.dll" Alias "GetPointer" (ByRef v As Integer) As IntPtr
У меня на компьютере выполняется без проблем. Стоит перенести, как он начинает ругаться:
unable to load dll. Приложение не может быть запущено, поскольку оно не корректно настроено.
Плюнул. Решил написать DLL на VB6:
- Код: Выделить всё
Public Function GetPtr(ByRef I As Long) As Long
GetPtr = VarPtr(I)
End Function
Импотировал в VB.NET. У меня на компьютере работает, на других валится с предложением отправить отчёт.
Собственно,