Вниз
Скачать: CL | DM;

Импорт перемненных из внешних модулей   Найти похожие ветки 

← →
lionts   (2005-09-10 19:44) [0]

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


← →
palva ©   (2005-09-10 21:44) [1]

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

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

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


← →
palva ©   (2005-09-10 21:46) [2]

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


← →
lionts   (2005-09-11 19:54) [3]

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


← →
isasa ©   (2005-09-11 20:19) [4]

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

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


← →
palva ©   (2005-09-11 22:48) [5]

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


← →
lionts   (2005-09-14 14:22) [6]

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


← →
Digitman ©   (2005-09-14 14:32) [7]


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


это как же ?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
14-1126110434
MegaVolt
2005-09-07 20:27
2005.10.02
Помогите найти тему про создание файлов большого размера без ...


1-1126449004
lmz
2005-09-11 18:30
2005.10.02
Цветной DBGrid


1-1126292256
lordalexander
2005-09-09 22:57
2005.10.02
Блок


1-1126690385
integery
2005-09-14 13:33
2005.10.02
как запонить отмечиние ячейки в TStringGrid


3-1124263857
Андрей Жук
2005-08-17 11:30
2005.10.02
Ошибка удаления данных в Firebird




   Наверх