Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Импорт перемненных из внешних модулей [D7, Win2k]


lionts ©   (2005-09-10 19:44:00) 

Есть lib, написанный на С++, экспортирует функции и УКАЗАТЕЛЬ.
На С++ я делаю:
extern long myvar* и всё ок. Попросили переделать под Делфи, в помощи написано, что импорт переменных из общих модулей Делфи не позволяет. Исходников lib нет, поэтому сделать функцию-wrapper вокруг нужной мне переменной не могу.
Есть ли выход ?


Digitman   (2005-09-14 14:32:00) [1]


> попробую обмануть этот делфи


это как же ?


lionts   (2005-09-14 14:22:00) [2]

Palva, СПАСИБО !!!
Я попробую обмануть этот делфи.
Спасибо ещё раз, а то я уж расстроился, как почитал справку...


palva   (2005-09-11 22:48:00) [3]

Так я не понял, исходно мы имеем lib или dll? Если dll, то ничего сложного нет. Экспортируем имя переменной, как будто это имя функции. Для статического экспорта придется даже написать заголовок функции с произвольной сигнатурой. А потом адрес этой функции (или результат GetProcAddress в случае динамического экспорта) присваиваем указателю на переменную нужного типа.


isasa   (2005-09-11 20:19:00) [4]

>есть DLL, она экспортирует несколько ф-ций и переменных

Экспорт переменных из DLL ??


lionts   (2005-09-11 19:54:00) [5]

Palva, спасибо.
Есть Варианты ещё ?
Необходимо именно импортировать переменную. Представьте, что у Вас есть DLL, она экспортирует несколько ф-ций и переменных, мне как раз и нужен доступ к этим переменным...


palva   (2005-09-10 21:46:00) [6]

Хотя правильнее назвать эту dll не оберткой, а контейнером.


palva   (2005-09-10 21:44:00) [7]

А как вы собираетесь использовать lib в проекте Делфи? Лично мне непонятно даже, как можно использовать функции из lib без разбития ее на отдельные объектные файлы.

А вообще, если вы можете использовать lib из си, то напишите на нем dll. Эта dll фактически будет оберткой, она перенесет lib внутрь себя. А к dll напишите на делфи Unit с нужным интерфейсом. Unit уже можно использовать в проекте (напр. исходник юнита включить в проект).

Компилятор си можно не обязательно от фирмы Borland.


Наверх

Титульная страница Поиск, карта сайта Написать письмо