#71034 - Tue Jun 23 2015 12:31 PM
Скрипт не видится TSlab-ом
|
member
Registered: Sun Aug 15 2010
Записи: 108
|
Перехожу от кубиков к API. Очень интересное дело, как оказалось, но непонятно, почему не работают некоторые методы? Простой скриптик, который должен вывести размер депо, не видится TSlab-ом, который пишет Скрипт '000_eXT_Script': Элемент 'ВнешнийСкрипт1' содержит ошибку: Не установлен внешний скрипт
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Realtime;
namespace DepoScript
{
public class RtDepo : IExternalScript
{
public void Execute(IContext ctx, ISecurity sec)
{
var rtSec = sec as ISecurityRt;
if (rtSec == null)
{
ctx.LogError("Режим лабы!!!");
return;
}
// Вывод размера депо
ctx.LogInfo("Размер депо: {0}", rtSec.EstimatedBalance);
}
}
}
Помогите, кто может! P.S. А в кубике внешнего скрипта написано: Нет подходящего обработчика. Чего ему не хватает?
Отредактировано Rucobor (Tue Jun 23 2015 12:38 PM)
|
|
Наверх
|
|
|
|
#71840 - Sun Jul 26 2015 08:26 PM
Re: Скрипт не видится TSlab-ом
[Re: Ti_ru]
|
journeyman
Registered: Wed Apr 29 2015
Записи: 91
Loc: Махачкала
|
ctx.Log("депо " + rtSec.EstimadetBalance.ToString(), 0xAAAAAA);
|
|
Наверх
|
|
|
|
#72012 - Sun Aug 02 2015 01:47 PM
Re: Скрипт не видится TSlab-ом
[Re: crn]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
вы дернули код русалго и должны прицепить библиотеку тоже. Эти методы LogInfo и LogError есть только в ней, их нет в тслабе.
_________________________
__
|
|
Наверх
|
|
|
|
#72275 - Fri Aug 14 2015 02:31 PM
Re: Скрипт не видится TSlab-ом
[Re: ra81]
|
journeyman
Registered: Fri Sep 28 2012
Записи: 98
|
TsLab 1.2.19. В скрипт загружаю cs-файл и необходимые библиотеки. С какого-то времени тсЛаб перестал обновлять у себя файл скрипта-через кнопки сохранить и пуск. Реагирует на изменение таймфрема. В частности 60мин. переключаю на 30мин. и изменения проходят. Что может быть? Путь к файлу и библиотекам на 10 раз обновил.
_________________________
Физик-лирик
|
|
Наверх
|
|
|
|
#72305 - Sun Aug 16 2015 01:27 PM
Re: Скрипт не видится TSlab-ом
[Re: komissar]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
просто двигайте любой блок скрипта после изменения кода и жмите кнопку Пуск. Все будет работать. Это особенность новых версий и исправить ее не исправили до сих пор.
_________________________
__
|
|
Наверх
|
|
|
|
#72763 - Mon Aug 31 2015 11:11 AM
Re: Скрипт не видится TSlab-ом
[Re: ra81]
|
stranger
Registered: Mon Jun 15 2015
Записи: 9
|
Для себя определил несколько неприятных особенностей/ограничений TSLab: 1. в одном проекте может быть всего один наследник IExternalScript, иначе не видит не одного скрипта, 2. при добавлении к проекту некоторых сторонних библиотек, перестает видеть скрипт (например, Telerik.OpenAccess или Castle.Windsor), приходиться изолировать весь этот функционал в сервисно-фасадную часть проекта 3. если класс скрипта (наследника IExternalScript) наследуется так же от любого другого интерфейса или любой предок этого класса - является наследником произвольного интерфейса, скрипт не определяется TSLab.
Отредактировано tolik86 (Mon Aug 31 2015 04:05 PM)
|
|
Наверх
|
|
|
|
#72788 - Mon Aug 31 2015 04:06 PM
Re: Скрипт не видится TSlab-ом
[Re: tolik86]
|
stranger
Registered: Mon Jun 15 2015
Записи: 9
|
Товарищи разработчики, прокомментируйте, пожалуйста, хотя бы последний пункт, т.к. это неудобство очень усложняет разработку.
|
|
Наверх
|
|
|
|
#72820 - Tue Sep 01 2015 11:38 AM
Re: Скрипт не видится TSlab-ом
[Re: Nektodron]
|
stranger
Registered: Mon Jun 15 2015
Записи: 9
|
Комментарий по третьему пункту. Во всех вариантах TSLab не видит скрипта.
Вариант 1
public abstract class BaseExternalScript : ITradeSystem { }
public class ReverseBenchmarkEntry : BaseExternalScript, IExternalScript { }
Вариант 2
public abstract class BaseExternalScript { }
public class ReverseBenchmarkEntry : BaseExternalScript, ITradeSystem, IExternalScript { }
Убираем ITradeSystem, все нормально.
Отредактировано tolik86 (Tue Sep 01 2015 11:38 AM)
|
|
Наверх
|
|
|
|
#77995 - Fri May 13 2016 05:15 PM
Re: Скрипт не видится TSlab-ом
[Re: tolik86]
|
stranger
Registered: Tue Mar 29 2016
Записи: 21
|
Попробуйте так
public class BaseExternalScript { }
public class ReverseBenchmarkEntry : BaseExternalScript, IExternalScript { }
А в ТСлабе подключите в блок "Внешний скрипт" оба файла скриптов.
|
|
Наверх
|
|
|
|
|
|