Перенос на C++

Сообщайте о возможных ошибках в программе.
Ответить
Сообщение
Автор
Alexander
Сообщения: 1
Зарегистрирован: Чт май 03, 2007 4:33 am
Откуда: Пермь

Перенос на C++

#1 Сообщение Alexander » Чт май 03, 2007 7:33 am

Уважаемый автор, в файле IndicatorInterfaceUnit.pas, в строке “TSetBufferValueProc = procedure(buffer: integer; index: longword; value: double) of object;” пропущено ключевое слово stdcall, и Delphi компилирует её как fastcall. А компиляторы C++ fastcall понимают по-разному (проверено на MSVC 6.0, GCC, C++Builder). Если в fastcall нет особой необходимости, переделай, пожалуйста, на stdcall, иначе программисты на C++ смогут использовать только Builder.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Перенос на C++

#2 Сообщение Terranin » Чт май 03, 2007 8:25 pm

Alexander писал(а):Уважаемый автор, в файле IndicatorInterfaceUnit.pas, в строке “TSetBufferValueProc = procedure(buffer: integer; index: longword; value: double) of object;” пропущено ключевое слово stdcall, и Delphi компилирует её как fastcall. А компиляторы C++ fastcall понимают по-разному (проверено на MSVC 6.0, GCC, C++Builder). Если в fastcall нет особой необходимости, переделай, пожалуйста, на stdcall, иначе программисты на C++ смогут использовать только Builder.
Да, когда мы делали перенос апи индикаторов на С++ мы наткнулись на эту проблему и успешно ее решили. Так что в новом билде уже будет готовое апи инидкаторов под С++ которое уже работает. Это просто была невнимательность.
Asta la vista
Mike

Ответить