AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Android UART EventListener

Ein Thema von SvB · begonnen am 3. Mai 2018 · letzter Beitrag vom 13. Mai 2018
 
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Android UART EventListener

  Alt 3. Mai 2018, 08:14
Hi @All,

ich habe eine Android UART (Seriell) Anbindung und benötige jetzt den Zugriff auf die Events. Bei den bereitgestellten Java-Classen gibt es einen EventListener, ich weiß jedoch nicht, wie ich das zu Delphi umsetzen soll.
Hier der Code der Java-Klasse
Code:
  JUARTEventClass = interface(JEventObjectClass)
    ['{8CCFB748-D20D-495F-8BFB-88939E567966}']
    {class} function _GetCLEAR_TO_SEND: Integer; cdecl;
    {class} function _GetDATA_AVAILABLE: Integer; cdecl;
    {class} function _GetDATA_CARRIER_DETECT: Integer; cdecl;
    {class} function _GetDATA_SET_READY: Integer; cdecl;
    {class} function _GetINPUT_BUFFER_FULL: Integer; cdecl;
    {class} function _GetN_BYTES_AVAILABLE: Integer; cdecl;
    {class} function _GetOUTPUT_BUFFER_EMPTY: Integer; cdecl;
    {class} function _GetRING_INDICATOR: Integer; cdecl;
    {class} function init(P1: JUART; P2: Integer): JUARTEvent; cdecl;
    {class} property CLEAR_TO_SEND: Integer read _GetCLEAR_TO_SEND;
    {class} property DATA_AVAILABLE: Integer read _GetDATA_AVAILABLE;
    {class} property DATA_CARRIER_DETECT: Integer read _GetDATA_CARRIER_DETECT;
    {class} property DATA_SET_READY: Integer read _GetDATA_SET_READY;
    {class} property INPUT_BUFFER_FULL: Integer read _GetINPUT_BUFFER_FULL;
    {class} property N_BYTES_AVAILABLE: Integer read _GetN_BYTES_AVAILABLE;
    {class} property OUTPUT_BUFFER_EMPTY: Integer read _GetOUTPUT_BUFFER_EMPTY;
    {class} property RING_INDICATOR: Integer read _GetRING_INDICATOR;
  end;

  [JavaSignature('guf/android/hardware/uart/UARTEvent')]
  JUARTEvent = interface(JEventObject)
    ['{CFFDE537-85A0-41E9-BEC4-FEB75219E53B}']
    function getEventType: Integer; cdecl;
    function toString: JString; cdecl;
  end;
  TJUARTEvent = class(TJavaGenericImport<JUARTEventClass, JUARTEvent>) end;

  JEventListenerClass = interface(IJavaClass)
    ['{48BD1D07-BCE3-4F68-982B-617B523C7116}']
  end;

  [JavaSignature('java/util/EventListener')]
  JEventListener = interface(IJavaInstance)
    ['{D9ADB67A-5217-4762-9961-710BF18CAD39}']
  end;
  TJEventListener = class(TJavaGenericImport<JEventListenerClass, JEventListener>) end;

  JUARTEventListenerClass = interface(JEventListenerClass)
    ['{EC9DB672-36FF-40F5-8E3B-5D4C00808A91}']
    {class} procedure onUARTEvent(P1: JUARTEvent); cdecl;//Deprecated
  end;

  [JavaSignature('guf/android/hardware/uart/UARTEventListener')]
  JUARTEventListener = interface(JEventListener)
    ['{E5B94F01-255E-4C05-88A7-F0B0BE1C89CA}']
  end;
  TJUARTEventListener = class(TJavaGenericImport<JUARTEventListenerClass, JUARTEventListener>) end;
und hier der Code aus dem original Beispiel wie das benutzt wird:
Code:
uart = new UART("ttymxc2", UART.BAUD_115200, UART.DATABITS_8, UART.PARITY_NONE, UART.STOPBITS_1);
uart.openPort();
uart.writeString("port #1 opened ...\n\r");
         
uart.addEventListener(this, new UARTEvent(uart, UARTEvent.DATA_AVAILABLE));
Thread.sleep(10*1000);
         
uart.removeEventListener(this);
uart.closePort();
Code:
public void onUARTEvent(UARTEvent uartEvent) {
  switch(uartEvent.getEventType()) {
    case UARTEvent.DATA_AVAILABLE:
      Log.d(TAG, "onUARTEvent: UARTEvent.DATA_AVAILABLE");         
  }
}
Ich benötige das onUARTEvent als Delphi-Event.
Kann mir jemand helfen das umzusetzen oder mir eine Info geben, wo ich dazu etwas finde wie es gemacht wird. Steh total auf dem Schlauch.
Danke
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz