Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Использование 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
8-28932
Tornado
2002-10-24 08:03
2003.02.10
Подскажите


4-29160
Leny
2002-12-27 13:29
2003.02.10
Событие Печати


1-28782
Lexa2003
2003-01-29 23:15
2003.02.10
Как можно узнать, какой выставлен год на компьютере?


3-28596
Niger
2003-01-21 16:44
2003.02.10
Invalid variant type conversion


14-28991
Дмитрий К.К.
2003-01-26 12:43
2003.02.10
---|Ветка была без названия|---