Поделиться через


Недопустимое соглашение о вызовах библиотеки DLL (ошибка 49)

Аргументы, передаваемые в библиотеку динамической компоновки (DLL) или процедуру ресурсов кода Macintosh, должны в точности соответствовать всем требованиям процедуры. Соглашения о вызове действуют в отношении числа, типа и порядка аргументов. Эта ошибка имеет следующие причины и способы решения:

  • Программа вызывает процедуру в DLL (Windows) или ресурсе кода (Macintosh) и передает им аргументы неверного типа. Убедитесь, что тип аргументов соответствует заданному в объявлении процедуры, которую вы вызываете.

  • Программа вызывает процедуру в DLL (Windows) или ресурсе кода (Macintosh) и передает им неверное число аргументов. Убедитесь, что число аргументов соответствует заданному в объявлении процедуры, которую вы вызываете.

  • Программа вызывает процедуру в DLL с нарушением соглашения о стандартном вызове. Если процедура DLL требует указывать аргументы по значению, убедитесь, что в объявлении процедуры для этих аргументов определен атрибут ByVal.

  • Оператор Declare для библиотеки DLL Windows включает ключевое слово CDecl. Ключевое слово CDecl применяется только на платформе Macintosh.

Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh).

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.