C# + 1C. Пишем простейший COM-сервер для 1С |
Автор megabax | |||
26.05.2013 г. | |||
C# + 1C. Пишем простейший COM-сервер для 1СИзучение возможности интеграции C# и 1С мы начнем с создания на C# простейшего COM сервера. Для этой цели нам понабиться Visual Studio 2010 и платформа 1C 8.2. И так, в визуал студии создаем новый проект, тип проекта выбираем "библиотека классов" (class library)*: У нас появиться заготовка библиотеки, куда мы введем вот такой текст (вместо существующего):
Обратите внимание, что в юзинги мы добавили System.Windows.Forms, поэтому необходимо подключить к библиотеке соответствующую ссылку*: Сделать это можно либо кликнув на ветке "Ссылки" правой кнопочкой мыши*: либо через меню "Проект" -> "Добавить ссылку"*: Теперь обратите внимание на гуиды (текст типа CC441039-F00D-4617-B2AD-36082B7D4D9D). Их надо будет сгенерить. Для этого запускаем специальную утилиту "Генератор GUID", которая входит в стандартный пакет Visual Studio**: Для генерации выбираем формат, в котором надо генерить, нажимаем "Создать GUID" а потом "Копировать", что бы поместить его в буфер обмена, а потом вставить в тектс программы*: Вставив в программу приведенный здесь код, а в код свои гуиды, займемся настройкой проекта*: Во первых, на закладке "Построение" надо указать, что наша программа будет зарегистрирована для COM-взаимодействия*: Во вторых, надо создать подпись на сборку (пароль создавать необязательно)*: Ну, и последний штрих, идем в AssemblyInfo.cs и вставляем туда вызов AssemblyKeyFile, а ComVisible делаем true:
Все, компилим проект а затем регистрируем его утилитой RegAsm***:
Все, теперь протестим что мы написали. И так, создаем обработину:
Процедура КнопкаВыполнитьНажатие(Кнопка) МойОбъект = Новый COMОбъект("MyComFor1C.MyClass"); МойОбъект.message("Проба. Это такое пробное сообщение"); КонецПроцедуры
Запустив эту обработку, мы увидим, что наш COM-объект действительно работает****:
Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. Скриншоты, помеченные знаком **, являются цитатами и иллюстрациями программного продукта "Microsoft Windows 7", авторское право на который принадлежит корпорации Microsoft.. Скриншоты, помеченные знаком ***, являются цитатами и иллюстрациями программного продукта "Windows Commander", авторское право на который принадлежит Christian Ghisler. Скриншоты, помеченные знаком ****, являются цитатами и иллюстрациями программного продукта "1C Предприятие 8.2", авторское право на который принадлежит ЗАО 1С.
|
|||
Последнее обновление ( 26.05.2013 г. ) |