|
![]() |
#1 |
Участник
|
Это реальная задача, только вот никак не получается подключится к компоненте, из примера смотришь вроде легко, для аксапты сложновато. в ступор сразу ввел указатель на дескриптор, а точнее создаем объект функцией cipherlabtcpCreate и получаем дескриптор сервера-
компоненты handle. никак не получается этот дескриптор Handle получить в аксапте 3.0. в примере этот дескриптор при обращении к функции cipherlabtcpCreate получается сразу 8 знаков в аксапте он получается 0. в результате автоматическое подключение к ТСД не происходит.
__________________
Axapta 3.0 SP6 Build 1951 |
|
![]() |
#2 |
Участник
|
Ничего не получается с WinAPI будет программироваться отдельная программа для соединения ТСД с Аксаптой, будущая программа-сервис будет выполнять следующее:
1. Автоматически запускаться в виде сервиса, если программа-сервис дала сбой, то автоматически перезапускаться (при запуске происходит подключение к ТСД, если ТСД проявил активность); 2. После того как программа сервис была запущена на сервере, программа – сервис должна ожидать данные от терминалов сбора данных; 3. Как только какой-то терминал сбора данных проявит свою активность в функции-обработчике сначала нужно узнать тип события. Всего может быть 5 типов событий от ТСД: MAKE, CLOSE, QUERY, INSERT, UPDATE; 4. Выяснить серийный номер ТСД, который вызвал событие; 5. Получить данные из ТСД вместе с серийным номером от ТСД; 6. Отправить полученные данные из ТСД в ИС Axapta; 7. Ожидать ответа от ИС Axapta по полученным данным из ТСД; - Если в течении 5 секунд ответа нет, то освободить ресурсы для приема следующих данные от ТСД; - Если в течении 5 секунд ответ в программу сервер пришёл, то: a) принять ответ от Axapta в программу-сервис; b) отправить полученный ответ на дисплей ТСД, который вызвал событие (по серийному номеру ТСД); c) Освободить ресурсы и ждать следующих данных от ТСД; По этому поводу я хотел бы узнать у форума какими способами лучше принимать данные из внешней программы - сервис в Axapta 3.0 и какими способами лучше передавать данные (обратный ответ) из Axapta 3.0 обратно внешней программы - сервис?
__________________
Axapta 3.0 SP6 Build 1951 |
|
![]() |
#3 |
Участник
|
Помогите реализовать в аксапте следущее:
в библиотеке CipherLabTCP.dll имеется функция следующего типа: Наименование: GetProperties(SAFEARRAY **paParams, LONG * Result) Вх. данные: paParams – Двумерный массив из 3 элементов типа (VARIANT). Вых. Данные: 1 элемент — Порт; 2 элемент — (0 — писать в файл, 1 — генерировать внещнее событие); 3 элемент — (1 — выводить отладочную информацию, 0 — не выводить отладочеую информацию); Описание: Функция для получения свойств компоненты. Возвращаемое значение: В случае успеха возвращает в Result двойной указатель на SAFEARRAY, иначе 0 Как можно изобразить это в аксапте 3.0? Как я думаю нужно организовать двумерный массив из 3 элемента, но не знаю как это будет выглядеть на языке X ++, помогите разобраться?
__________________
Axapta 3.0 SP6 Build 1951 |
|