Вниз
Скачать: 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.023 c
2-1124576501
Пантелеев Иван
2005-08-21 02:21
2005.10.02
Иконки для программы


3-1124697763
Leonid
2005-08-22 12:02
2005.10.02
О файле PDOXUSRS.NET


1-1126094591
lmz
2005-09-07 16:03
2005.10.02
Блок вставки из буфера обмена


14-1126451741
Ксардас
2005-09-11 19:15
2005.10.02
Как Вы относитесь к сериалу "Остаться в живых" на ОРТ?


2-1124455979
user51
2005-08-19 16:52
2005.10.02
нет точки входа




   Наверх