Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.02;
Скачать: 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 вся ветка

Текущий архив: 2005.10.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
14-1125951448
Eraser
2005-09-06 00:17
2005.10.02
Пользователям локальных сетей. Тестирование Voice Connector a


3-1124342583
ААР
2005-08-18 09:23
2005.10.02
список пользователей базы


2-1124876927
JTAG
2005-08-24 13:48
2005.10.02
Подскажите плз как узнать время создания файла


1-1126445299
Дмитрий_05
2005-09-11 17:28
2005.10.02
Уменьшенная копия региона


3-1124531396
Mortal
2005-08-20 13:49
2005.10.02
Transact-SQL: Восстановление базы в MSSQL.