Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.004 c
1-1126292256
lordalexander
2005-09-09 22:57
2005.10.02
Блок


1-1125926628
Mishenka
2005-09-05 17:23
2005.10.02
Копирование текста в Clipboard


1-1126026214
TerminalHead
2005-09-06 21:03
2005.10.02
Хоткеи в сервисе


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


3-1124190878
Roman9
2005-08-16 15:14
2005.10.02
дешифровка поле





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский