Совмещение Delphi и C++

Форум для программистов

Совмещение Delphi и C++

Сообщение FSA » Ср янв 08, 2003 5:20 am

Пришёл к такой проблеме. Сначала пробовал писать на Visual C++, потом решил, что сначала надо на Delphi потренироваться, а уж самые важные части приложений (если понадобиться) писать на C++.
Так вот. Как-то давненько написал одну программу для конвертирования небольшой базы данных в текстовый файл (файлы базы имели немного нестандартный формат на основе DBF).
Сейчас сделал программу для работы с этой базой. Вот только база периодически обновляется и приходится вручную преобразовывать сначала моей утилитой на C++ в текстовый файл (не хотелось бы иметь вообще этот файл), потом это текстовик преобразовывать в DBF, потом эту DBF шифровать, потом уже пользоваться.
Хотелось бы эту процедурку преобразования базы влючить в приложение на Delphi, но вместо промежуточного сохранения в тектовом файле данные сразу помещать в базу данных. Переписывать код с C++ на Delphi очень не хочется.
Напрашивется решение - создать DLLку для преобразования базы, а потом её использовать из программы.
Подскажите как это делается (или ссылочки на документашку полезную в этом случае).
P.S. Исходники все есть, так что все нужные блоки могу выделить и хоть как переделать.
"Скажи мне свой IP, и я скажу кто ты!"
Подпись: nslookup
FSA
Подполковник
 
Сообщений: 748
Зарегистрирован: Сб апр 20, 2002 8:38 pm
Откуда: Тавда, Россия.
Пункты репутации: 0

Сообщение dAnIK SeNT » Ср янв 08, 2003 11:13 am

Берешь любое руководство по Дельфи <!--emo&:)-->Изображение<!--endemo--> Лучше всего - F1.
На самом деле ничего сложного нет. Написание DLL-ки похоже на написание модуля, только ДЛЛ позволяет экспортировать только процедуры и функции - не переменные и не объекты.
Есть два варианта загрузки ДЛЛ - динамический (прямо во время работы программы - загрузил, попользовал, выгрузил) и статический - ДЛЛ грузится при запуске проги и выгружается при закрытии. Второй проще.
При статической загрузке к ДЛЛ надо писАть интерфейсный модуль, в котором бы перечислялись все процедуры и функции экспортируемые DLL-кой.
Мог бы написАть поподробнее, но уж очень много там всего. В справке все это по-моему очень неплохо документировано.
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0

Сообщение FSA » Ср янв 08, 2003 11:44 am

Ладно! Начну по порядку!
1. Документашку желательно на русском, т.к. я не всё могу перевести с английского.
2. Как вызвать DLL из Delphi я уже разобрался когда делал свою небольшую утилитку Install TC plugins.
3. Я не знаю как оформляются DLL на C++!!! А F1 в Visual C++ у меня не работает.
"Скажи мне свой IP, и я скажу кто ты!"
Подпись: nslookup
FSA
Подполковник
 
Сообщений: 748
Зарегистрирован: Сб апр 20, 2002 8:38 pm
Откуда: Тавда, Россия.
Пункты репутации: 0

Сообщение dAnIK SeNT » Ср янв 08, 2003 7:21 pm

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->3. Я не знаю как оформляются DLL на C++!!! А F1 в Visual C++ у меня не работает.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Тут я тебе не помощник - с C++ не работаю <!--emo&:(-->Изображение<!--endemo-->
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0


Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

cron