Снегопат

Обсуждение Снегопата
Текущее время: 22 ноя 2024, 11:52

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 56 ]  На страницу 1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 15:58 
Не в сети

Зарегистрирован: 24 авг 2011, 15:22
Сообщения: 23
Написал загрузчик аддинов, написанных на .NET.

Актуальное описание всегда будет в wiki

Для подключения загрузчика в addin.ini написать:
Код:
script:scripts\ClrAddinLoader.js


Способы подключения аддинов:
  1. Написать в addins.ini :
    Код:
    clr:ИмяСборки.dll|ИмяКласса

    Имя класса можно опускать, тогда будет создан первый встреченный публичный класс
  2. Через пункт меню снегопата "Загрузить сборку"

Пример создания аддина:
  • Создать новый проект в VS или SharpDevelop
  • добавить в проект ссылку на сборку ClrAddinLoader.dll
  • Создать класс, унаследовав его от ClrAddinBase
  • реализовать класс. Его публичные методы без параметров и возвращающие void, станут макросами.
  • Объектная модель снегопата доступна через св-во designer класса ClrAddinBase (и сл-но его наследников)

Пример кода аддина:
Код:
using System;
using SnegopatLib;

namespace SampleAddin
{
    public class Class1 : ClrAddinBase
    {
        public void Method1()
        {
            designer.Message("Я clr-addin");
        }
        public void Method2()
        {
            designer.Message("2-й метод");
        }
    }
}


Последний раз редактировалось steban 30 авг 2011, 13:41, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 16:09 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
А обработчики событий форм 1С проверял?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 16:12 
Не в сети

Зарегистрирован: 24 авг 2011, 15:22
Сообщения: 23
artbear писал(а):
А обработчики событий форм 1С проверял?

и не планировал.
Аддин может реализовать свои формы на Windows.Forms


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 16:18 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
Еще не хватает готового примера аддина и исходников проекта для него.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 16:22 
Не в сети

Зарегистрирован: 24 авг 2011, 15:32
Сообщения: 722
Степан, а что например ты хочешь реализовать такими аддинами?
Я всегда за большой выбор, но чем может не устраивать текущие связки скрипт+форма1С? Это ж всего лишь надстройка для КОНФИГУРАТОРА


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 16:23 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
artbear писал(а):
Еще не хватает исходников проекта для него.

PS готовый пример увидел


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 16:24 
Не в сети

Зарегистрирован: 24 авг 2011, 15:22
Сообщения: 23
Пример аддина есть в архиве - SampleAddin.dll

А приведенный пример кода аддина - это практически и весь его исходник.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 16:27 
Не в сети

Зарегистрирован: 24 авг 2011, 15:22
Сообщения: 23
JohnyDeath писал(а):
Степан, а что например ты хочешь реализовать такими аддинами?

Пока ничего.

Надеюсь, что в снегопат набегут дотнетчики и кааааак понапишут чего-нить интересного :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 16:29 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
steban писал(а):
Код:
            designer.Message("Я clr-addin");

Так не компилится,
нужен доп.параметр MessageMarkers
Код:
designer.Message("2-й метод", MessageMarkers.mExc1);

Или я что-то делаю не так?


Последний раз редактировалось artbear 26 авг 2011, 16:36, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Addin-ы на .NET
СообщениеДобавлено: 26 авг 2011, 16:35 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
Кстати, баг с загрузкой у Снегопата или у твоего загрузчика, похоже, нарисовался :(
Сначала в Снегопат загрузил твой тестовый пример, появился скрипт SampleAddin.Class1
Далее в студии собрал простой пример SampleAddin.Class1 - про совпадение имен классов я сначала не подумал, хотя имена файлов разные :)
Далее попытался загрузить свою сборку, Снегопат отругался на одинаковое имя аддина
Цитата:
Ошибка при загрузке: Аддин с уникальным именем SampleAddin.Class1 уже загружен

Моя сборка, естественно, не появилась в списке аддинов Снегопата.

И вот баг:
Я вижу, что имена совпадают, пересобираю проект, пытаюсь его собрать в это же место, Студия выдает ошибку
Цитата:
не удалось скопировать файл "obj\Debug\ClassLibrary1.dll" в "..\Snegopat\Starter\scripts\ClassLibrary1.dll". Процесс не может получить доступ к файлу "..\Snegopat\Starter\scripts\ClassLibrary1.dll", так как этот файл используется другим процессом.

Аплодисменты! Занавес! :)

Т.е. файл не загрузился в Снегопат, но он остался залоченным :(


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 56 ]  На страницу 1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB