Клиентский API > Когда же будет API для терминала.
-
- Сообщения: 13
- Зарегистрирован: 11 июл 2016, 13:17
- Благодарил (а): 1 раз
- Поблагодарили: 2 раза
Re: Когда же будет API для терминала.
По существу, апи рабочий, ребята уже имеют под него работающий софт, по крайней мере под версию библиотеки .1822. Только делиться не спешат наработками...
я щас ковыряю проект 2015 года, сделанный под версию 1.0.0.0 и пытаюсь адаптировать некоторые функции под .1822. Собственно меня интересует только возможность выдернуть Queue и MarketTrade для последующей обработки
Re: Когда же будет API для терминала.
я тут нашел запись с чата АД , которую успел записать , сейчас не могу найти её в архиве , что-то не работает архив чата .
но суть подключения выглядит вот так :
но суть подключения выглядит вот так :
Код: Выделить всё
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using ADClientSDK;
using AD.Common.Helpers;
namespace AD_4
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
Packer.Initialize(@"C:\Programm Files(x86)\Alfa-DirectPro\ad.xml");
AdClient client = new AdClient();
if (client != null)
{
}
InitializeComponent();
}
}
}
-
- Сообщения: 13
- Зарегистрирован: 11 июл 2016, 13:17
- Благодарил (а): 1 раз
- Поблагодарили: 2 раза
Re: Когда же будет API для терминала.
метод .GetNews() вызывает ошибку получения сущности NewsEntity....
Учитывая тот факт, что серверную и клиентскую части апи таки разделили, куча интерфейсов из библиотеки исчезла
Какие мысли на этот счет?
Учитывая тот факт, что серверную и клиентскую части апи таки разделили, куча интерфейсов из библиотеки исчезла
Какие мысли на этот счет?
-
- Сообщения: 24
- Зарегистрирован: 04 сен 2017, 13:30
- Поблагодарили: 3 раза
Re: Когда же будет API для терминала.
Здравствуйте.
А подскажите в чем проблема может быть.
Скачал терминал с сайта директа. Установил. Достал библиотеки из папки установки, положил в свой проект.
Также взял файлик ad.xml из их папки и тоже к себе.
В итоге после создания объекта клиента сразу вылезает ошибка.
и следом вылетает ошибка:
Кто нибудь сталкивался с подобным??
А подскажите в чем проблема может быть.
Скачал терминал с сайта директа. Установил. Достал библиотеки из папки установки, положил в свой проект.
Также взял файлик ad.xml из их папки и тоже к себе.
В итоге после создания объекта клиента сразу вылезает ошибка.
Код: Выделить всё
try
client = new AdClient();
client.OnConnectionChanged += new Action<AD.Common.Helpers.FrontEndType, AD.Common.DataStructures.ConnectionStatus>(client_OnConnectionChanged);
client.OnServerMessage += new Action<AD.Common.Helpers.FrontEndType, AD.Common.DataStructures.ClientMessageEntity>(client_OnServerMessage);
client.OnTerminalConnectionChanged += new Action<AD.Common.DataStructures.ConnectionStatus>(client_OnTerminalConnectionChanged);
}
catch (Exception ex)
{
MessageBox.Show("Терминал Alfa Direct не запущен!!!", "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
и следом вылетает ошибка:
Код: Выделить всё
AD.Common.Helpers.PackerException не обработано
HResult=-2146233088
Message=ошибка при CreatePacket(ICollection<IADSerializable> списка List`1 cnt=1
Source=BaseStructures
StackTrace:
в AD.Common.Helpers.Packer.CreatePacket[T](IEnumerable`1 untypedEntitiesList)
в AD.Common.Helpers.Packer.CreatePacket(IADSerializable entity)
в AD.Common.Helpers.CircularBufferMapFile.Send(IADSerializable entity)
в ADClientSDK.SharedConnection.ConnectionControlThread()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
InnerException: System.NullReferenceException
HResult=-2147467261
Message=Ссылка на объект не указывает на экземпляр объекта.
Source=BaseStructures
StackTrace:
в AD.Common.Helpers.Packer.CreatePacket[T](IEnumerable`1 untypedEntitiesList)
InnerException:
Кто нибудь сталкивался с подобным??
-
- Сообщения: 220
- Зарегистрирован: 28 июн 2017, 13:56
- Благодарил (а): 4 раза
- Поблагодарили: 40 раз
Re: Когда же будет API для терминала.
Нужно, для верности, все dll-ки из инсталляции AD4.0 закинуть в проект, не только ad.xml.
-
- Сообщения: 24
- Зарегистрирован: 04 сен 2017, 13:30
- Поблагодарили: 3 раза
Re: Когда же будет API для терминала.
Я сделал больше .. свою прогу закинул в папку с терминалом. Таже самая фигня.
Самое интересное обнаружилось дальше.
Достал с полки декомпилятор дотнета и посидел поразбирал основное приложение терминала.
Внутри нету ссылок на библиотеку SDK. Технически ее можно смело убрать из папки и работоспособность терминала не нарушиться.
Но внутри программы написано как то все очень странно ... Такое ощущение что программеров сильно торопили с выпуском. И много кода наляпано без должного контроля за исключительными ситуациями.
написал в саппорт директа:
Отсюда вывод что 4 еще вообще не готова сотрудничать со сторонними разработчиками и поддерживать их системы торговли. Имеющаяся библиотека SDK не имеет толкового описания и скорее всего это библиотека больше для отладки системы самими разрабами.
Ковырять в декомпиляторах терминал для выискивания правильных алгоритмов работы тоже врядли стоит свеч.
Придеться ждать пока директ разродится на нормальный интерфейс.
Самое интересное обнаружилось дальше.
Достал с полки декомпилятор дотнета и посидел поразбирал основное приложение терминала.
Внутри нету ссылок на библиотеку SDK. Технически ее можно смело убрать из папки и работоспособность терминала не нарушиться.
Но внутри программы написано как то все очень странно ... Такое ощущение что программеров сильно торопили с выпуском. И много кода наляпано без должного контроля за исключительными ситуациями.
написал в саппорт директа:
Здравствуйте. Скажите пожалуйста каким образом можно получить документацию для API к терминалу версии 4.0?
support:
Добрый день,
Пока API и документации нет, обещают к ноябрю-декабрю.
Отсюда вывод что 4 еще вообще не готова сотрудничать со сторонними разработчиками и поддерживать их системы торговли. Имеющаяся библиотека SDK не имеет толкового описания и скорее всего это библиотека больше для отладки системы самими разрабами.
Ковырять в декомпиляторах терминал для выискивания правильных алгоритмов работы тоже врядли стоит свеч.
Придеться ждать пока директ разродится на нормальный интерфейс.
-
- Сообщения: 220
- Зарегистрирован: 28 июн 2017, 13:56
- Благодарил (а): 4 раза
- Поблагодарили: 40 раз
Re: Когда же будет API для терминала.
Терминал ничего не знает про ClientSDK - логично, не правда ли, и не должен знать, ибо ClientSDK работает в адресном пространстве клиента отличном от терминала. А терминал у вас запущен?
-
- Сообщения: 24
- Зарегистрирован: 04 сен 2017, 13:30
- Поблагодарили: 3 раза
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя