Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2010, 21:55   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Обход невозможности экспорта одноименных процедур

Как известно, из dll нельзя экспортировать процедуры с одинаковыми названиями. Но проблема еще и в том, что не очень то удобно пользоваться процедурами типа <name>2, <name>3, если назначение не отличается, а различается только количество параметров.

Для использования в проекте использую следующие действия:

Отдельный модуль используется для импорта процедур из dll и описания некоторых типов:
Код:
 Function BoolToStr(B : Boolean): PChar; External 'Scow.dll' Name 'BoolToStr';
 Procedure BufferDraw(Var Form : TForm); External 'Scow.dll' Name 'BufferDraw';
 Procedure CollectMessages; External 'Scow.dll' Name 'CollectMessages';
...
 Function CreateTexture(Var Form : TForm; Width, Height : Integer) : Integer; External 'Scow.dll' Name 'CreateTexture';
 Function CreateTexture2(Var Form : TForm; Width, Height : Integer; TName : PChar) : Integer; External 'Scow.dll' Name 'CreateTexture2';
Есть вариант как-то создать ситуацию overload?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 09.11.2010, 22:22   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
 Function CreateTexture(Var Form : TForm; Width, Height : Integer) : Integer;overload; External 'Scow.dll' Name 'CreateTexture';
 Function CreateTexture(Var Form : TForm; Width, Height : Integer; TName : PChar) : Integer;overload; External 'Scow.dll' Name 'CreateTexture2';
оно?
а сам экспорт не выйдет, но импорт можно
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.11.2010, 07:37   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Да, оно, спасибо за помощь!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для экспорта данных в таблицу эксель scythe Microsoft Office Excel 2 21.02.2010 22:18
проблемы экспорта данных из DBGrid в Excel GhostBZ БД в Delphi 11 31.08.2009 07:20
Блок-схема экспорта в MS Excel lola8669 Общие вопросы Delphi 0 27.05.2009 13:23
FindWindow('TMainForm',nil) а дальше куча одноименных кнопок Стелс Win Api 17 01.11.2008 01:27