WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Экспорт функций из dll

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Экспорт функций из dll
zAg35 опубликован 20-09-2001 16:36 MSK   Click Here to See the Profile for zAg35   Click Here to Email zAg35  
Как в билдере для экспортируемой функции явно указать имя и индекс. Чтобы например для функции
__declspec( dllexport )
void CreateTemp(char*pstr,void **PTemp);

не использовать такую конструкцию:
pfn = GetProcAddress(hPack,"@CreateTemp$qpcppv");

alexey опубликован 20-09-2001 16:51 MSK     Click Here to See the Profile for alexey  Click Here to Email alexey     
Если DLL твоя собственная - то подключи к проекту lib от этой DLL, объяви функцию
__declspec( dllimport ) void CreateTemp(char*pstr,void **PTemp);
и вперед.

zAg35 опубликован 20-09-2001 16:57 MSK     Click Here to See the Profile for zAg35  Click Here to Email zAg35     
Так я ж хочу грузить dll динамически с помощью LoadLibray. (Вообще-то у меня это первая пробная попытка сделать dll-ку)
m_fox опубликован 20-09-2001 17:12 MSK     Click Here to See the Profile for m_fox  Click Here to Email m_fox     
Посмотри тут:
http://www.sources.ru/cpp/cpp_create_simple_plugins.shtml

Там есть ответ на твой вопрос.

zAg35 опубликован 20-09-2001 19:03 MSK     Click Here to See the Profile for zAg35  Click Here to Email zAg35     
2 m_fox : Я там уже смотрел,но там экзампл для VC++ - где для импорта
__declspec( dllexport ) void GetPluginInfo(PluginInfo* pPluginInfo, DWORD *pdwResult);
используем
GetPluginInfo=(GetPluginInfoType)GetProcAddress(m_hInstance,"GetPluginInfo");

,те имя функции вроде бы не искажается как у borland'a. Так что же делать ?

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.