OFFSIDE Это не ко мне, VB я не знаю. А вообще, код у тебя не правильный. Смотри пример к описанию функции GetProcAddress в PSDK или MSDN.
Попробуй не объявлять StrProc. Загрузи длл через LoadLibrary, получи адрес StrProc через GetProcAddress и вызови StrProc через CallWindowProc по этому адресу. Тогда в твоём импорте не будет зашита длл, и возможно ты сможешь её затем выгрузить через FreeLibrary.
cresta А как тогда правильно передать и получить данные? Ведь мы получаем ссылку на адрес, тип в вб - лонг, а CallWindowProc в качестве аргументов принимает ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any, то есть мы делаем посылку сообщения окну... wParam и lParam равны 0. Код (Text): Dim c As Long, e As Long, buffer As String, pa As Long buffer = Space(200) c = LoadLibrary("testdll.dll") pa = GetProcAddress(c, "StrProc") CallWindowProc pa, Me.hWnd, "What This ?????", ByVal 0&, ByVal 0& Dim k As String e = FreeLibrary(c) MsgBox e FormatMessage FORMAT_MESSAGE_FROM_SYSTEM, ByVal 0&, GetLastError, LANG_NEUTRAL, buffer, 200, ByVal 0& MsgBox buffer