Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: как обратиться к dll на С++ по порядк номеру в ... Добавлено: 11.05.03 21:27  

Автор вопроса:  Janek

как обратиться из Бейсика к dll на С++ не по имени, а по порядковому номеру в таблице экспорортируемых функций.

заранее спасибо

 

 

Ответить

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

Номер ответа: 1
Автор ответа:
 Mirgor



Вопросов: 10
Ответов: 19
 Web-сайт: mirgor.vn.ua
 Профиль | | #1
Добавлено: 12.05.03 14:26

Если правильно понял - проблема аналогична такой (см. дале). Но сам мучаюсь над ее решением. Если известно как ее можно решить буду несказано благодарен за сохраненные для меня часы сна. Если что найду сообщу.

Как в 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

Ответить

Страница: 1 |

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



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