Страница 1 из 1

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

Добавлено: Чт май 03, 2007 7:33 am
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.

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

Добавлено: Чт май 03, 2007 8:25 pm
Terranin
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.
Да, когда мы делали перенос апи индикаторов на С++ мы наткнулись на эту проблему и успешно ее решили. Так что в новом билде уже будет готовое апи инидкаторов под С++ которое уже работает. Это просто была невнимательность.