Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Подключение C++ библиотеки в Delphi


Автор: amium 8.12.2005, 13:03

У меня имеется много хорошых классов и функций реалзованных на C++. А мне необходимо написать прогу на Delphi, а переводить эти классы с C++ -> Delphi нет никакого желания и возможности. Насколько я понимаю, это можно сделать с помощью DLL?

Скажем, DLL пишется на VC++ или на Билдере, а используется в Delphi. Можно ли написать DLL чтобы она могла импортироваться в Delphi?


smile

Заранее благодарен!

Автор: S.A.P. 8.12.2005, 13:14
Можно.

Автор: amium 8.12.2005, 13:30
При подключении библиотеки в вызывающую программу на С++ используются заголовочные (.h) файлы. Что с ними делать? Как их использовать в С++ понятно. А как от них избавится в Делфи? Можно ли подключить библиотеку без .h файла?

Автор: Void 8.12.2005, 14:42
Цитата(amium @ 8.12.2005, 15:30)
При подключении библиотеки в вызывающую программу на С++ используются заголовочные (.h) файлы. Что с ними делать? Как их использовать в С++ понятно. А как от них избавится в Делфи? Можно ли подключить библиотеку без .h файла?

.h файлы нужно преобразовать в соответствующие объявления внешних функций в Delphi. Автоматические конвертеры существуют, вот что выдал гугл первой же ссылкой:
http://www.drbob42.com/delphi/headconv.htm
С использованием C++ классов из Delphi будет сложнее, если это вообще возможно.

Автор: amium 8.12.2005, 15:13
Похоже это то что нужно, что касается функций!! Спасибо!

Может кто-нибудь знает как импортировать класс так же как это делается в VC++? Хотя наверно, это очередное излишнее изобретение Майкрософт smile smile

Автор: blackofe 8.12.2005, 20:22
amium
функции, реализованные в dll, можно использовать где угодно, даже в бейсике. с классами сложнее. и тут ты прав - микрософту пришлось поизобретаться, чтобы можно было в dll классы использовать. с другой стороны dll - это само по себе изобретение микрософта.

а на твоем месте я бы пользовал COM - дешево и сердито. переносимо, просто, затраты на COM минимальные.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)