Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
ВнизПодскажите как подключить *.obj от С++ к моему проекту Найти похожие ветки
← →
myfik (2005-08-18 23:15) [0]Добрый вечер! Подскажите пожалуйста как правильно подключать файлы *.obj, созданные ВС++ при компиляции модуля к Delphi-проекту, и как правильно обращатся к функциям в этом файле. А то у меня только функция без параметров нормально работает, всем остальным не получается передать значения параметров. Если можно рабочий пример.
С уважением Mufik
← →
DrPass © (2005-08-18 23:17) [1]{$L myfile.obj}
А если не получается работать с параметрами, значит, неправильно модель вызова указал. Если в BC++ использовался __fastcall, то в Delphi не нужно ничего указывать. А так скорее всего стоит указать cdecl
← →
myfik (2005-08-19 06:33) [2]С первой строчкой понятно. Пробывал по всякому, но модуль откомпиленный в ВС++ не подключается на стадии линковки, пишет что неправильный образ программы для NT. Модуль в стиле С подключается без проблем и процедуру без параметров отрабатывает. Но как только надо добавить параметры выскакивает ошибка что программа не может прочитать данные по адресу и виснет. Трассировка дает что линкёр удалил символы параметра. Пробывал и с __fastcall, но идет только с __Pascal. Вот так на С
extern __pascal int AAA(int,int);
А так вызываю на Pascal
extern __pascal int AAA(int A, int B)
{
return (A+B);
}{$R *.dfm}
{$L File1.obj}
function AAA(A,B: integer):integer;external;
procedure TForm1.Button1Click(Sender: TObject);
var
A,B,C : integer;
begin
A:=1;
B:=3;
C:=AAA(A,B);
Edit1.Text:=IntToStr(C);
end;
← →
myfik (2005-08-21 22:40) [3]Вчера снова попробывал то же с __fastcall, так теперь почему то Паскаль ругается что я неправильно обьявляю фуекцию, до этого такое описание транслятор пропускал. Может быть это глюк моей копии Дельфи?
← →
DrPass © (2005-08-21 23:14) [4]Наверное, правильно будет
extern "C" __fastcall int AAA(int A, int B)
Компилятор С++ ведь балуется переименованием
← →
myfik (2005-08-21 23:41) [5]Хорошо попробую, но я кажется так уже обьявлял, столько вариантов перебрал что уже и не помню, но не идет и всё.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c