![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Импорт перемненных из внешних модулей [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.