0 Members and 4 Guests are viewing this topic.
Так же без stdcall объявлен IAIMPUIPathChooser.Delete в apiGUI.pas.
В apiPlayer.pas метод IAIMPServicePlayerEqualizer.GetActive объявлен без stdcall, в отличие от остальных методов интерфейса, а в apiPlayer.h он объявлен как WINAPI. Из-за этого в 32-битном AIMP вызов GetActive из плагина на C++ падает внутри плеера с нарушением доступа; в 64-битном соглашение о вызовах одно, и всё работает. Проверял на 32-битных сборках 5.x, в SDK 6.00 объявление то же.
Разве что добавить GetActive2 для новых плагинов и написать про stdcall в документации
Иметь две одинаковые функции для разных языков это бред. Легче написать, что метод на C++ не доступен, используйте диспетчер сообщений.