Судя по количеству просмотров темы про ITINConnection ( http://www.itinvest.ru/forum/index.php?showforum=26 ) Вопрос актуален. В аттаче простейший пример использования, думаю у тех кому надо не составит проблемы просмотреть список публичных методов коннектора.
Использован SmartX 2.3
требования: х86
инициализировать(соответсвенно ITINConnection в референсы): _itConn = Connection.init("SMARTX/V.2.3.548.709"); // Так будет работать // _itConn = new Connection(); // так нельзя получите ошибку на коннекте.
Зависимости: loader_lib.dll //Эта либа умеет нативно грузить в память либы и возвращать указатели на функции в либе. Нативно - всмысле сама аллочит кучу, грузит и дергает длл_мэйн, и если что не так она пишет в системный лог. Зачем сделано так а не через системные вызовы мне непонятно
Comentarios (2)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Актуален - это да. Только вот не через эту библиотеку. Я ее смотрел пол года назад через Reflector. Был удивлен обилием локов внутри нее + обработкой ошибок через возникающий MessageBox. Лично мне тогда показалось это сырой альфа версией, которую использовать для реальной торговли просто опасно. Плюс ко всему, я так и не понял, чем это решение лучше SmartCOM. Тот же x86, то же выделение памяти, которое не освободить без перезагрузки робота, если что-то не так... Кроме отсутствия установки SmartCOM я плюсов не нашел.
Ну перед её использованием я её тоже изучал. Неадекватных локов не обнаружил, все они происходят в событиях подписки\отписки
Эксепшены в ней генерятся следующим образом: SmartAssembly.SmartExceptionsCore.StackFrameHelper.CreateExceptionN(exception, objArray); Где в exception.Data по ключу, указаному в ресурсах, дописывается LinkedList<object>; с описаниием ошибки по мнению смарт ассембли =) (имхо удобно) после чего производится throw;
иногда эксепшены применают вот такой вид. throw new Exception(SmartAssembly.StringsEncoding.Strings.Get(8727));
и реже throw new ITINConnectionException(...);
Как минимум плюс в возможности одновременной работы нескольких экземпляров программ (например гидра и робот / робот, и параллельно можно что-то отлаживать). А про память скажу так - надо опросить активных пользователей SmartX как у них приложение ведет себя.
з.ы. глянул тут ITrader может что и напишу.