Страница: 1 |
Проблема следующая. Необходимо вынести функцию в DLL. Но эта DLL должна полностью соответствовать спецификации COM, так чтоб у ее функции потом можно получить адрес при помощи GetProcAdress. В VB, как я понял такие номера не катють... может кто VC помнит. Там функции для DLL каким-то хитрым скриптом декларились, а вот каким и как ужо не помню. Кстати, с первым вопросом меня. Всем огромное авансовое спасибо. Всем гуру(Иван, Cyrax, User и т.п.) - ПРИВЕТ!
Привет и тебе. Сорри я полный ноль в этих делах. Тут дай бог БЕЙСИК за всю жизнь выучить. Кстати, кому интересно, попытался сделать объектно-ориентированную программу на QB 4.5 Хотя она требует доработки, но вроде, кое-что получилось. Могу выслать. А про всякие COM, DCOM я без понятия. Да, ещё. Выдрал с Аплемана краткое описание Windows API. Получился Хелп на 450 кБ (350 в архиве). Так что, опять же, кому надо - вышлю. В VB это сделать невозможно. Почти. Без внешних каких-нибудь вещей. В VC - создаёшь проект как Win32 Dynamic-Link Library, выбираешь далее Simple Dll Project. Затем заходишь в файл имябиблиотеки.cpp и добавляешь к нему функции. После возвращаемого значения функции перед её именем пишешь WINAPI. HHOOK WINAPI whdInitHook(HWND hWnd){ ... } Добавляешь заголовки всех этих функций в имябиблиотеки.h (в параметрах - только типы без имён параметров). HHOOK WINAPI whdInitHook(HWND); Делаешь File->New, Text File, называешь имябиблиотеки.def. Пишешь туда: EXPORTS whdInitHook Имя_функции_2 Имя_функции_3 ... Само собой whdInitHook здесь только для примера. Всё. Остаётся откомпилировать (только сделай Build->Set Active Configuration->Win32 Release). При желании могу тебе послать свою библиотеку в исходниках - она небольшая, кроме того я сам до этого на VC никогда не писал, так что постарался сделать понятно. Страница: 1 |
Вопрос: DLL, functions...
Добавлено: 17.12.02 11:15
Автор вопроса: SAVok | ICQ: 155153916
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #1
Добавлено: 17.12.02 18:04
Мда... вопросик. Надо подумать будет или поискать где нибудь...
Номер ответа: 2
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #2
Добавлено: 17.12.02 21:50
Номер ответа: 3
Автор ответа:
Андрей Щёкин [darxeth]
ICQ: 161560107
Вопросов: 9
Ответов: 52
Web-сайт:
Профиль | | #3
Добавлено: 18.12.02 16:40