steban писал(а):
Попробуй с новой версией (удалить dll, обновить скрипты, перезагрузить конфигуратор)
подписка на события заработала
Код:
public class History : ClrAddinBase
{
private bool startAddInWithEvents()
{
try {
designer.onIdle += OnIdleHandler;
designer.onUnLoadAddin += delegate { designer.onIdle -= OnIdleHandler;};
return true;
} catch (Exception e) {
say("History Start Error - " + e.Message);
return false;
}
}
private void say(string text, MessageMarkers markers = MessageMarkers.mNone)
{
designer.Message(text, markers);
}
// public methods
public void MessageTest()
{
designer.MessageBox("Это скрипт на .NET выполненный с помощью загрузчика AddIn", MsgBoxStyles.mbOK,"Алеександр и Степан молодцы",100);
}
public void StartAddIn()
{
startAddInWithEvents();
}
// events
void OnIdleHandler()
{
say("I am on Idle - i have invoked by designer");
}
}
При вышеозначенном коде после вызова StartAddIn() из Снегопата - появляется ожидаемая надпись
"I am on Idle - i have invoked by designer"однако Конфигуратор больше закрыть невозможно - при нажатии Файл -> Выход, все также продолжается выводится надпись "I am on Idle..." и конфигуратор работае как ни в чем не бывало.
P.S. Вот сейчас смотрю - как подключить stdcommands к С#: видимо никак