Перейти к содержанию
Fire Monkey от А до Я
  • 0

MSPOS - смарт-терминалы от компании Мультисофт


BenTen

Вопрос

Добрый день, уважаемы форумчане.

Будучи больше читателем, чем писателем, я решился задать вопрос на форуме потому что не смог до конца решить задачу. А задача заключается в следующем:

Необходимо разработать на Embarcadero Delphi приложение мобильной кассы для смарт-терминала MSPOS. Для этого необходимо интегрировать в Delphi работу с фискальным ядром ККТ. На сайте производителя терминалов MSPOS есть подробная информация по интерфейсу IFiscalCore фискальноого ядра ККТ. Основой интерфейса фискального ядра являются AIDL файлы описания методов, и есть примеры подключения к фискальному ядру для языка java.

Если есть среди форумчан разработчики, желающие и могущие поучаствовать в интеграции фискального ядра смарт-терминала MSPOS в  Embarcadero Delphi, прошу откликнуться.  У меня уже есть достаточно серьезные наработки, которые могу выложить. Но есть и серьезный затык, который заставил написать здесь.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Добрый день!

Выкладываю тестовый проект FMX, который позволяет достучаться до фискального ядра MSPOS.

Единственная проблема, я не могу заставить правильно работать java-интерфейс IExceptionCallBack, который создается в Delphi, передается в фискальное ядро на Андроиде и вызывается Андроидом при ошибке java-метода IFiscalCore

Вот так я описал класс, реализующий java-интерфейс IExceptionCallBack

    TRTLExceptionCallback = class(TJavaLocal, JIExceptionCallback)
    private
      [Weak] FFiscalConnection: TFiscalServiceConnection;
      FCallbackIntf: JIExceptionCallback;

    public
      constructor Create(const AFiscalConnection: TFiscalServiceConnection);
      property CallbackIntf: JIExceptionCallback read FCallbackIntf;

      procedure HandleException(i: Integer; string_: JString; i1: Integer; string_1: JString); cdecl;
      function asBinder: JIBinder; cdecl;
    end;

Вот так я создаю этот интерфейс

  if FHandlerException = nil then
  begin
    FHandlerException := TRTLExceptionCallback.Create(Self);
    FJExceptionCallback := FHandlerException as JIExceptionCallback; //FHandlerException.CallbackIntf;
  end;

Когда фискальное ядро на Андроиде обращается к этому интерфейсу, получаем ошибку, что метод asBinder  не реализован.  Я не знаю как реализовать этот метод asBinder и зачем вообще он нужен, если основной метод для обработки ошибок - это метод HandleException, который по идее и должен вызываться, но вызывается asBinder. 

procedure HandleException(i: Integer; string_: JString; i1: Integer; string_1: JString); cdecl;

Буду рад любой помощи, в том числе и за ответную услугу (вознаграждение)

MSPOS.7z

Ссылка на комментарий
  • 0

Добрый день!

Большое спасибо уважаемому Slym  за помощь и поддержку в разработке тестового проекта на Embarcadero Delphi для доступа к фискальному ядру смарт-терминала MSPOS.

Выкладываю в открытый доступ этот проект. Пользуйтесь на здоровье.

MSPOSFiscalCore_Delphi.7z

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...