Мне ужасно надо оптимизировать математику в VB, для этого нужна библиотека, которая "прочтётся" Бейсиком, то есть он найдёт точку входа в DLL. Так вот, приведите, пожалуйста, кто может, пример кода, который после компиляции из C++, даст подключаемую библиотеку.
|
См.файл win32api.txt в каталоге установки Vb\Winapi и используй ApitextViewer. Там многие объявления есть. Правда, есть некоторые ошибки и зависимость от версий Dll. При использовании более старых версий какие-то точки входа могут отсутстивовать. Если нужны специфичные DLL, нужна документация по поводу их объявления
|
создаешь dll wizard(ом) и урезаешь до такого вида:
#include stdafx.h BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } int __stdcall FuncTion(int x, int Y) { return x*y; } потом создаешь текстовый файл с расширением *.def следующего содержания: LIBRARY "MyDll.DLL" EXPORTS FuncTion @10 собираешь и кладешь рядом с проектом :) |
С примером сложновато, но советую написать DLL-ку на С, по типу той, что wizard в visual c++ делает. Нежелательно писать на С++, т.к. вместо функции MyFunc при искажении имен компилятором С++ получится что-то вроде MyFunc$afqqq и т.п. Такую функцию VB вряд ли найдет в DLL по имени MyFunc
|
ну вот, сплошная дискуссия гостей, не знаешь к кому и обращаться :)
Так вот, Guest 195.239.140.* :), в примере Guest 195.16.57.* как раз и указано Цитата:
bde (вот еще немножко документации (к help-у :) по этому поводу) |
ОК, спасибо..
:) А я эту проблему по-другому "решил", хотя ошибки хоть и возникают, но их легко обойти. В VB мона написать так: Declare sub AAA lib "MyLib.dll" alias "#1"() Это значит, что бэйзик будет подразумевать под процедурой ААА первую экспортируемую из DLL-ки. Ну а узнать как процедуры "лежат" в библиотеке не сложно.:gigi: |
Время: 10:04. |
Время: 10:04.
© OSzone.net 2001-