![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование C++Builder в Delphi [D4, D7, Win95/98]
xZeus © (2003-01-30 12:13:00)Можно ли использывать модули написанные на С++ (т.е. *.сpp *.h *.obj файлы) в Delphi приложении не делая из модуля DLL библиотеки? Может создается какой нибуть обёрточный файл или ещё что нибудь? Ведь и Builder и Delphi используют VCL. Ответте пожалуйста очень уж не хочется DLL ваять.
icWasya (2003-01-31 10:17:00) [1]Во первых
синтаксис
function _a(x: integer): integer; cdecl; external "<.obj файл>"
подразумевает вызов функции из DLL
во вторых
для OBJ нужно писать
{$Link "<.obj файл>"}
function _a(x: integer): integer; cdecl; external;
в третьих всё равно не получается
wicked (2003-01-30 14:51:00) [2]
> Можно ли использывать модули написанные на С++ (т.е. *.с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...
Bobersky (2003-01-30 13:50:00) [3]
> IMHO нельзя. В Builder"е дельфийские модули - ради бога.
А как это сделать ???
Palladin (2003-01-30 12:48:00) [4]
> на С++ (т.е. *.сpp *.h *.obj файлы)
*.cpp, *.h: дык ить Си же... оно же не паскаль...
*.obj:при некотором старании наверно удастся подключить...
хотя меня сомнения берут...
uw (2003-01-30 12:42:00) [5]IMHO нельзя. В Builder"е дельфийские модули - ради бога.