View Ticket Вы: nobody
Вход
UUID задачи: 1fbd2e03130eb3db0edfd02f975ec461b31833f1
Автор:
Тема: Падает выгрузка скрипта
ОС: Другая (укажите в описании) Версия 1С: Другая (укажите в описании)
Статус: Закрыта Тип: Ошибка
Серьезность: Обычная Приоритет: Немедленно
Решение: Починена
Последнее изменение: 2011-08-19 06:28:44
Версия где найдена: 018
Компонент:
Ответственный:

Описание и комментарии:

Примерный код
SnegopatWnd.prototype.CmdBarUnloadScript = function(Кнопка)
{
	var macrosesWnd = addins.byUniqueName("macroswnd").object.getMacrosWnd()
	var res = macrosesWnd.selectMacros()
	if(!res)
		return
	
	macrosesWnd = null
	
	var uniAddinName = res.addin;
	var addin = addins.byUniqueName(uniAddinName)
	var displayName = addin.displayName;

	try{
		MessageBox("1"+displayName)
		addins.unloadAddin(addin);
		MessageBox("2"+displayName)
	}
	catch(e)
	{
		Message("Ошибка при выгрузке аддина " + displayName + ": " + e.description)
	}
}

17.08.2011 08:22:33 artbear добавил следующее:
В 019 исправлено. закрываю


17.08.2011 09:51:16 orefkov добавил следующее:
Работает даже перезагрузка скриптом самого себя:

function macrosReload()
{
	var myAddin = addins.byUniqueName(SelfScript.uniqueName)
	var myLoadString = myAddin.fullPath
	var myGroup = myAddin.group
	MessageBox("Я сейчас выгружусь")
	addins.unloadAddin(myAddin)
	
	MessageBox("Я сейчас выгружен, но еще работаю и буду загружать себя")
	var newMe = addins.loadAddin(myLoadString, myGroup).object
	MessageBox("Я сейчас выгружен и загрузил себя")
	newMe.вызовНовогоМеняИзСтарогоМеня()
}

function вызовНовогоМеняИзСтарогоМеня()
{
	MessageBox("Привет с того света от меня умершего")
}

MessageBox("Я загружен")