Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница:

 

  Вопрос: Как вызывать функцию из С++ dll Добавлено: 12.05.03 15:01  

Автор вопроса:  Mirgor | Web-сайт: mirgor.vn.ua

Как в Visual Basic 6 правильно описать загрузку библиотеки диалогов

через функцию mapLoadLibrary? Пробуем написать в VB6 код,

который аналогичен следующему:

HINSTANCE lib;

// Определить прототип функции selSaveSelect

long int (WINAPI * func)(HMAP hmap);

// Загрузить библиотеку

(FARPROC)func = mapLoadLibrary("mapselec.dll", &lib, "selSaveSelect");

if (func == 0) return;

// Вызвать функцию

(*func)(hMap);

// Выгрузить библиотеку

FreeLibrary(lib);

Делаем так:

'Объявляем глобальную переменную - идентификатор библиотеки

Global lib As Long

'Объявляем функцию загрузки библиотек

Declare Function mapLoadLibrary Lib "c:\Panorama7\mapacces.dll" _

(ByRef dllname As String, ByRef libinst As Long, _

ByRef funcname As String) _

As Long

В программе:

Public Sub CmSelect()

Dim func As Long

Dim note As Long

'Определяем идентификатор процесса

ipPrevWinProc = SetWindowLong(Form1.hwnd, GWL_WNDPROC, _

AddressOf CmSelect)

'присваиваем значенте переменной

func = SetWindowLong(Form1.hwnd, GWL_WNDPROC, ipPrevWinProc)

MsgBox "func=" & func

func = mapLoadLibrary("c:\Panorama7\mapselec.dll", _

lib, "selSetViewStaff")

If func = 0 Then Exit Sub

Как делать дальше? Или все полностью неверно? Так (см. далее) не пашет...

'// Вызвать функцию

' (*func)(hMap);

End Sub

Ответить

  Ответы Всего ответов: 0  

Нет ответов

Страница:

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам