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

Вниз

Использование C++Builder в Delphi   Найти похожие ветки 

 
xZeus   (2003-01-30 12:13) [0]

Можно ли использывать модули написанные на С++ (т.е. *.сpp *.h *.obj файлы) в Delphi приложении не делая из модуля DLL библиотеки? Может создается какой нибуть обёрточный файл или ещё что нибудь? Ведь и Builder и Delphi используют VCL. Ответте пожалуйста очень уж не хочется DLL ваять.


 
uw   (2003-01-30 12:42) [1]

IMHO нельзя. В Builder"е дельфийские модули - ради бога.


 
Palladin   (2003-01-30 12:48) [2]


> на С++ (т.е. *.сpp *.h *.obj файлы)

*.cpp, *.h: дык ить Си же... оно же не паскаль...
*.obj:при некотором старании наверно удастся подключить...
хотя меня сомнения берут...


 
Bobersky   (2003-01-30 13:50) [3]




> IMHO нельзя. В Builder"е дельфийские модули - ради бога.


А как это сделать ???


 
wicked   (2003-01-30 14:51) [4]


> Можно ли использывать модули написанные на С++ (т.е. *.сpp
> *.h *.obj файлы) в Delphi приложении не делая из модуля
> DLL библиотеки? Может создается какой нибуть обёрточный
> файл или ещё что нибудь? Ведь и Builder и Delphi используют
> VCL. Ответте пожалуйста очень уж не хочется DLL ваять.

можно, сам так делал.....
пишем "обёрточный" файл и подключаем к нему .obj...

в самом сишном файле надо написать процедуры, которые будут интерфейсными для паскалевского модуля, обьявить их надо как
extern "C" int a(int x){}
для того, чтоб билдер отключил для них name mangling....
в паскалёвском модуле обьявляем эти процедуры/функции как
function _a(x: integer): integer; cdecl; external "<.obj файл>"
обратите внимание на знак подчеркивания и модификатор cdecl...


 
icWasya   (2003-01-31 10:17) [5]

Во первых
синтаксис

function _a(x: integer): integer; cdecl; external "<.obj файл>"

подразумевает вызов функции из DLL
во вторых
для OBJ нужно писать

{$Link "<.obj файл>"}
function _a(x: integer): integer; cdecl; external;


в третьих всё равно не получается



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
3-28615
Андрусь
2003-01-22 13:18
2003.02.10
Как передать в базу число > предела точности Integer


4-29156
markers
2002-12-23 13:40
2003.02.10
Как сделать свой таск лист как у Explorera?


14-29032
Zhenka
2003-01-24 12:20
2003.02.10
Как найти ПОЛИНОМ


1-28862
d_oleg
2003-01-30 11:51
2003.02.10
программно сменить формат бумаги


3-28592
AM
2003-01-24 16:15
2003.02.10
Помогите составить запрос...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский