Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экспорт из dll 
:(
    Опции темы
becks
Дата 16.11.2011, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.7.2010

Репутация: нет
Всего: нет



Добрый день. Есть некоторая библиотечка a.dll и в ней всего одна экспортируемая  функция TrauFile с прототипом (указан разработчиками библиотеки):

Код

typedef int _stdcall (*tTrauFile)(const char *pInputFileName, const char *pOutputFileName);



я же использую прототип (как сделать так чтоб работало с тем прототипом я не знаю)

Код

typedef int (__import * TrauFileType (const char *, const char *));


а после в самой программе

Код

TrauFileType* TrauFile = NULL;
....
dllInst = LoadLibrary("a.dll");
TrauFile = (tTrauFile* )GetProcAddress(dllInst, "TrauFile");
.....
TrauFile (pInputFileName, pOutputFileName);


Правильно ли я делаю? И может ли это привести к каким-нибудь ошибкам?

Это сообщение отредактировал(а) becks - 16.11.2011, 22:10
PM MAIL   Вверх
t_gran
Дата 17.11.2011, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 13.11.2007
Где: г.Усть-Илимск

Репутация: 1
Всего: 37



Цитата

я же использую прототип (как сделать так чтоб работало с тем прототипом я не знаю)

 smile И работает?!

Цитата

Есть некоторая библиотечка a.dll и в ней всего одна экспортируемая  функция TrauFile с прототипом (указан разработчиками библиотеки):

Значит так и надо, только _stdcall не там почему-то поставили:

Код

typedef int (_stdcall *tTrauFile)(const char *pInputFileName, const char *pOutputFileName);


А в секции экспорта она как описана? Наверное TrauFile@8? Если да, то нужно писать так:
Код

   ...
   TrauFile = (tTrauFile*)GetProcAddress(dllInst, "TrauFile@8");
   ...


Это сообщение отредактировал(а) t_gran - 17.11.2011, 09:53


--------------------
Я знаю, что ничего не знаю© Сократ
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0504 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.