|
![]() |
#1 |
Участник
|
Цитата:
Но чтобы писать не могли бы помочь разобраться что поддерживает Аксапта 3.0 колбек, сообщение окну или эвант? Просто данные из компоненты CipherLabTCP.dll можно сообщать ИС разными способами такими как колбеком, сообщение окну и эвент. И я хотел бы уточнить что Аксапта может поддерживать?
__________________
Axapta 3.0 SP6 Build 1951 |
|
![]() |
#2 |
Участник
|
Цитата:
Обойтись одним приложением не получится, т.к. на ТСД не поднимится COM Busines Connector - он скомпилирован под x86. |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от _scorp_
![]() Вам нужно писать две части - клиентскую и серверную. Серверная часть будет посредством COM Busines Connector взаимодействовать с Axapta и должна висеть на каком нибудь сервере. Серверная часть содержит набор методов для работы с аксаптой. Напрмер: зарезервировать товар, создать перемещение по списку товаров, разнести перемещение и т.д. Клиентская часть находится на ТСД. Клиентская часть работает с железом сканера (скачайте на сайте производителя SDK) и с серверной частью.
Обойтись одним приложением не получится, т.к. на ТСД не поднимится COM Busines Connector - он скомпилирован под x86. Из компании сканкод мне предложили получать данные из компоненты в Аксапту такими способами как колбек, эвент и сообщение окну. Тогда я правильно понимаю что эти способы в аксапте не получатся? Цитирую что сканкод предлагает чтобы соединить ТСД 8770 с аксаптой по беспроводной сети wi-Fi " Мы можем сообщать программе 3-мя способами: колбеком, сообщение окну и эвент (есть еще очередь сообщений, но я не встречал, чтобы данный механизм где-то использовался). Теоретически (да и практически тоже) мы можем реализовать все 3 (или 4) способа, но это не факт, что заработает в Акцапте. Ну и проверить мы не сможем. Мы сможем только написать программу на С++, которая будет данным способом общаться с компонентой. Сообщите, какой способ поддерживает Акцапта"
__________________
Axapta 3.0 SP6 Build 1951 |
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Участник
|
Спасибо!!! А на будущее чтобы мне знать из этих способов что нито аксапта 3.0 поддерживает и где можно это посмотреть или почитать про эти 3 способа?
__________________
Axapta 3.0 SP6 Build 1951 |
|
![]() |
#6 |
Участник
|
Цитата:
Цитата:
PHP код:
В общем, как мне представляется, с помощью оконных сообщений можно пусть не очень красиво и с использованием кучи оберток для функций Win32 API, но реализовать интеграцию на голом Х++, без написания дополнительных прослоек. Опять же, веселуха начнется в случае, когда на один хост с этой CipherLabTCPIP.dll начнут одновременно приходить данные от нескольких ТСД - это все надо будет разруливать внутри одной сессии Business Connector, крутящей цикл обработки оконных сообщений. На счет доступа по http и тривиальности реализации в этом случае - утверждение, как мне кажется, не вполне однозначное ![]() |
|
![]() |
#8 |
Участник
|
Цитата:
Сообщение от gl00mie
![]() Аксапта написана для работы под управлением виндов, поэтому если ее научить, то она сможет делать (для 3.0 - почти) все, что могут делать другие виндовые приложения, другой вопрос, насколько это будет трудоемко. С вариантом callback-функции могут возникнуть определенные сложности, потому что там необходимо, чтобы эта функция была скомпилирована с учетом определенных соглашений о вызовах (т.н. __stdcall). Под event'ом разработчики из Сканкода, видимо, понимают дергание обработчиков событий ActiveX-объектов, Аксапта это поддерживает, но нужно, чтобы сперва соотв. ActiveX-компонент кто-то написал. В этом смысле, наверно, вариант с обработкой оконных сообщений выглядит наиболее простым с точки зрения реализации на Х++. Пример реализации цикла обработки оконных сообщений можно посмотреть в \Classes\TableLookup_RU\waitAndSearch (по идее этот класс должен быть в 3.0, но сейчас проверить у меня нет возможности). Вкратце, в Windows есть окна, окна принимают сообщения, для которых организуется очередь, и есть callback-функции - обработчики оконных сообщений, в т.ч. обработчики по умолчанию, выполняющие большую часть рутинных операций; обработчики оконных сообщений также называют оконными функциями (Window Proc). Сообщение окну может быть помещено в очередь (для асинхронной обработки) либо может быть отправлено (для синхронной обработки с использованием прямого вызова оконной функции). Окна и оконные функции могут использоваться не только для отрисовки и реализации собственно окон (включая меню, кнопки и проч.), но и для сценариев интеграции, как в рассматриваемом случае. Обычно приложение организует цикл обработки оконных сообщений, который представляет собой нечто вроде:[php]while (GetMessage(&msg, NULL, 0, 0))
{ TranslateMessage(&msg); DispatchMessage(&msg); }
__________________
Axapta 3.0 SP6 Build 1951 |
|
![]() |
#9 |
Участник
|
|
|
![]() |
#10 |
Участник
|
К сожалению RDP нет, у него специальная операционная система от ChiperLab. Очень сильно похожа на операционную систему простых не Wi-Fi ТСД от ChipherLab, только дабавлены настройки под Wi-Fi ну и соответственно если ТСД не подключился к Wi-Fi, а именно к драйверу ТСД (под драйвером имею ввиду компоненту от компании сканкод ChipherLabTCP.dll), то на дисплее ТСД не появится нужная задача. Аксапта подключается к Драйверу но с ошибкой и сразу же уходит в аварийный режим и происходит автоматическое отключение ТСД ото драйвера, ну и соответственно автоматическая перезагрузка Axapta.
__________________
Axapta 3.0 SP6 Build 1951 |
|
Теги |
cipherlab, wifi, тсд, ax3.0 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|