Добрый вечер!
Решил написать элементарную внешнюю компоненту на C++ (VisualSudio).
конфигурация на управляемых формах.
Файл DLL существует. Версия 1С - 8.3.8, учебная (как я понял, в учебной можно использовать внешние компоненты - нельзя COM-соединения).
Загружаю внешнюю компоненту в 1С так:
DLL = "d:\ExtComp1.dll";
Имякомпоненты = "CAddInNative";
КомпонентаПодключена = ПодключитьВнешнююКомпоненту(DLL, Имякомпоненты, ТипВнешнейКомпоненты.Native);
если не КомпонентаПодключена тогда
сообщить("Ошибка подключения компоненты.");
возврат;
конецесли;
Получаю сообщение об ошибке - ошибка подключения...
Как выяснить, в чем дело ?
Мой класс C++ - за основу взял template 1C:
class CAddInNative : public IComponentBase
{
...
Возникли следующие проблемы и вопросы:
1) Можно ли получить какое-то расширенное сообщение об ошибке - что не нашла 1С, что ей не понравилось ?
2) Правильно ли я понимаю, что мой класс в C++ "CAddInNative" - это и есть
имя компоненты ?
3) Все, что я предлагаю 1С для загрузки - это DLL.
Макета с двоичными данными, манифеста, других файлов я не создавал.
Достаточно ли только файла DLL ?
4) Решил посмотреть в отладчике VS - запускается ли CAddInNative::Init, который должен вроде запускаться первым, но не тут-то было.
В VS я собираю проект, создается моя DLL, запускаю конфигуратор 1С, потом через него - саму платформу 1С,
В отладчике VS даю команду - присоединиться к процессу. Здесь все OK,
однако когда ставлю точку останова в этом ...::Init отладчик VS говорит, что попадание в нее не произойдет - нет
отладочных символов.
Однако я не собирал проект VS для Debug x64, т.е. для отладки и вижу, что файл отладочных символов *.PDB лежит в той же папке, что и PDB - в чем тогда проблема ?
Помогите, пожалуйста, двинуться далее в сторону решения проблем, что и где посмотреть - пока не знаю, как ее сдвинуть с места.