|
|
导航: |
论坛 -> 移动应用开发
斑竹:flyers,iamdream |
|
作者: |
|
2017/10/12 21:25:20 |
标题: |
关于DELPHI XE10 调用第三方SDK 的相关问题。 |
浏览:1315 |
|
加入我的收藏 |
楼主: |
1.通过老猫的工具已经生成了JAR的PAS文件 2.请教的问题,要如何调用?实例化?比如下面这些要如何写调用代码
type JBluetoothReader = interface;
JBluetoothReaderClass = interface(JObjectClass) ['{32C99A1B-FD55-4CD5-B445-204B6E7BA7CF}'] function _GetBATTERY_STATUS_FULL : Integer; cdecl; function _GetBATTERY_STATUS_NONE : Integer; cdecl; function _GetBATTERY_STATUS_USB_PLUGGED : Integer; cdecl; function _GetCARD_STATUS_ABSENT : Integer; cdecl; function _GetCARD_STATUS_POWERED : Integer; cdecl; function _GetCARD_STATUS_POWER_SAVING_MODE : Integer; cdecl; function _GetCARD_STATUS_PRESENT : Integer; cdecl; // A: $1 function _GetCARD_STATUS_UNKNOWN : Integer; cdecl; // A: $1 function _GetDEVICE_INFO_FIRMWARE_REVISION_STRING : Integer; cdecl; function _GetDEVICE_INFO_HARDWARE_REVISION_STRING : Integer; cdecl; function _GetDEVICE_INFO_MANUFACTURER_NAME_STRING : Integer; cdecl; function _GetDEVICE_INFO_MODEL_NUMBER_STRING : Integer; cdecl; function _GetDEVICE_INFO_SERIAL_NUMBER_STRING : Integer; cdecl; function _GetDEVICE_INFO_SOFTWARE_REVISION_STRING : Integer; cdecl; function _GetDEVICE_INFO_SYSTEM_ID : Integer; cdecl; // A: function _GetERROR_AUTHENTICATION_FAILED : Integer; cdecl; function _GetERROR_AUTHENTICATION_REQUIRED : Integer; cdecl; function _GetERROR_CARD_OPERATION : Integer; cdecl; // A: function _GetERROR_CHARACTERISTIC_NOT_FOUND : Integer; cdecl; function _GetERROR_COMMAND_FAILED : Integer; cdecl; // A: function _GetERROR_INVALID_CHECKSUM : Integer; cdecl; // A: function _GetERROR_INVALID_COMMAND : Integer; cdecl; // A: function _GetERROR_INVALID_DATA : Integer; cdecl; // A: $19 function _GetERROR_INVALID_DATA_LENGTH : Integer; cdecl; // function _GetERROR_LOW_BATTERY : Integer; cdecl; // A: $19 function _GetERROR_READ_CHARACTERISTIC_FAILED : Integer; cdecl; function _GetERROR_SET_NOTIFCIATION_FAILED : Integer; cdecl; function _GetERROR_SUCCESS : Integer; cdecl; // A: $19 function _GetERROR_TIMEOUT : Integer; cdecl; // A: $19 function _GetERROR_UNDEFINED : Integer; cdecl; // A: $19 function _GetERROR_UNKNOWN_COMMAND_ID : Integer; cdecl; // function _GetERROR_WRITE_DATA : Integer; cdecl; // A: $19 function _GetSTATE_CONNECTED : Integer; cdecl; // A: $19 function _GetSTATE_CONNECTING : Integer; cdecl; // A: $19 function _GetSTATE_DISCONNECTED : Integer; cdecl; // A: $19 function _GetSTATE_DISCONNECTING : Integer; cdecl; // A: $1 function authenticate(TJavaArrayByteparam0 : TJavaArray<Byte>) : boolean; cdecl; function enableNotification(booleanparam0 : boolean) : boolean; cdec function getCardStatus : boolean; cdecl; // ()Z A: $401 function getDeviceInfo(Integerparam0 : Integer) : boolean; cdecl; // (I)Z A: $401 function init : JBluetoothReader; cdecl; overload; // ()V A: $1 function powerOffCard : boolean; cdecl; // ()Z A: $401 function powerOnCard : boolean; cdecl; // ()Z A: $401 function transmitApdu(TJavaArrayByteparam0 : TJavaArray<Byte>) : boolean; cdecl; function transmitEscapeCommand(TJavaArrayByteparam0 : TJavaArray<Byte>) : boolean; cdecl; procedure setOnAtrAvailableListener(listener : JBluetoothReader_OnAtrAvailableListener) ; cdecl; procedure setOnAuthenticationCompleteListener(listener : JBluetoothReader_OnAuthenticationCompleteListener) ; cdecl; procedure setOnCardPowerOffCompleteListener(listener : JBluetoothReader_OnCardPowerOffCompleteListener) ; cdecl; procedure setOnCardStatusAvailableListener(listener : JBluetoothReader_OnCardStatusAvailableListener) ; cdecl; procedure setOnCardStatusChangeListener(listener : JBluetoothReader_OnCardStatusChangeListener) ; cdecl; procedure setOnDeviceInfoAvailableListener(listener : JBluetoothReader_OnDeviceInfoAvailableListener) ; cdecl; procedure setOnEnableNotificationCompleteListener(listener : JBluetoothReader_OnEnableNotificationCompleteListener) ; cdecl; procedure setOnEscapeResponseAvailableListener(listener : JBluetoothReader_OnEscapeResponseAvailableListener) ; cdecl; procedure setOnResponseApduAvailableListener(listener : JBluetoothReader_OnResponseApduAvailableListener) ; cdecl; property BATTERY_STATUS_FULL : Integer read _GetBATTERY_STATUS_FULL; property BATTERY_STATUS_NONE : Integer read _GetBATTERY_STATUS_NONE; property BATTERY_STATUS_USB_PLUGGED : Integer read _GetBATTERY_STATUS_USB_PLUGGED; property CARD_STATUS_ABSENT : Integer read _GetCARD_STATUS_ABSENT; property CARD_STATUS_POWERED : Integer read _GetCARD_STATUS_POWERED; property CARD_STATUS_POWER_SAVING_MODE : Integer read _GetCARD_STATUS_POWER_SAVING_MODE; property CARD_STATUS_PRESENT : Integer read _GetCARD_STATUS_PRESENT; property CARD_STATUS_UNKNOWN : Integer read _GetCARD_STATUS_UNKNOWN; property DEVICE_INFO_FIRMWARE_REVISION_STRING : Integer read _GetDEVICE_INFO_FIRMWARE_REVISION_STRING;// I A: $19 property DEVICE_INFO_HARDWARE_REVISION_STRING : Integer read _GetDEVICE_INFO_HARDWARE_REVISION_STRING;// I A: $19 property DEVICE_INFO_MANUFACTURER_NAME_STRING : Integer read _GetDEVICE_INFO_MANUFACTURER_NAME_STRING;// I A: $19 property DEVICE_INFO_MODEL_NUMBER_STRING : Integer read _GetDEVICE_INFO_MODEL_NUMBER_STRING;// I A: $19 property DEVICE_INFO_SERIAL_NUMBER_STRING : Integer read _GetDEVICE_INFO_SERIAL_NUMBER_STRING;// I A: $19 property DEVICE_INFO_SOFTWARE_REVISION_STRING : Integer read _GetDEVICE_INFO_SOFTWARE_REVISION_STRING;// I A: $19 property DEVICE_INFO_SYSTEM_ID : Integer read _GetDEVICE_INFO_SYSTEM_ID; property ERROR_AUTHENTICATION_FAILED : Integer read _GetERROR_AUTHENTICATION_FAILED; property ERROR_AUTHENTICATION_REQUIRED : Integer read _GetERROR_AUTHENTICATION_REQUIRED; property ERROR_CARD_OPERATION : Integer read _GetERROR_CARD_OPERATION; property ERROR_CHARACTERISTIC_NOT_FOUND : Integer read _GetERROR_CHARACTERISTIC_NOT_FOUND;// I A: $19 property ERROR_COMMAND_FAILED : Integer read _GetERROR_COMMAND_FAILED; property ERROR_INVALID_CHECKSUM : Integer read _GetERROR_INVALID_CHECKSUM; property ERROR_INVALID_COMMAND : Integer read _GetERROR_INVALID_COMMAND; // I A: $19 property ERROR_INVALID_DATA : Integer read _GetERROR_INVALID_DATA; // I A: $19 property ERROR_INVALID_DATA_LENGTH : Integer read _GetERROR_INVALID_DATA_LENGTH;// I A: $19 property ERROR_LOW_BATTERY : Integer read _GetERROR_LOW_BATTERY; property ERROR_READ_CHARACTERISTIC_FAILED : Integer read _GetERROR_READ_CHARACTERISTIC_FAILED;// I A: $19 property ERROR_SET_NOTIFCIATION_FAILED : Integer read _GetERROR_SET_NOTIFCIATION_FAILED;// I A: $19 property ERROR_SUCCESS : Integer read _GetERROR_SUCCESS; // property ERROR_TIMEOUT : Integer read _GetERROR_TIMEOUT; // property ERROR_UNDEFINED : Integer read _GetERROR_UNDEFINED; property ERROR_UNKNOWN_COMMAND_ID : Integer read _GetERROR_UNKNOWN_COMMAND_ID; property ERROR_WRITE_DATA : Integer read _GetERROR_WRITE_DATA; property STATE_CONNECTED : Integer read _GetSTATE_CONNECTED; property STATE_CONNECTING : Integer read _GetSTATE_CONNECTING; property STATE_DISCONNECTED : Integer read _GetSTATE_DISCONNECTED; property STATE_DISCONNECTING : Integer read _GetSTATE_DISCONNECTING; end;
[JavaSignature('com/acs/bluetooth/BluetoothReader$OnAtrAvailableListener')] JBluetoothReader = interface(JObject) ['{40CF7572-3FEF-4BEC-87C3-969DB245BF05}'] function authenticate(TJavaArrayByteparam0 : TJavaArray<Byte>) : boolean; cdecl;// ([B)Z A: $401 function enableNotification(booleanparam0 : boolean) : boolean; cdecl; function getCardStatus : boolean; cdecl; // ()Z A: $401 function getDeviceInfo(Integerparam0 : Integer) : boolean; cdecl; function powerOffCard : boolean; cdecl; // ()Z A: $401 function powerOnCard : boolean; cdecl; // ()Z A: $401 function transmitApdu(TJavaArrayByteparam0 : TJavaArray<Byte>) : boolean; cdecl;// ([B)Z A: $401 function transmitEscapeCommand(TJavaArrayByteparam0 : TJavaArray<Byte>) : boolean; cdecl;// ([B)Z A: $401 procedure setOnAtrAvailableListener(listener : JBluetoothReader_OnAtrAvailableListener) ; cdecl; procedure setOnAuthenticationCompleteListener(listener : JBluetoothReader_OnAuthenticationCompleteListener) ; cdecl; procedure setOnCardPowerOffCompleteListener(listener : JBluetoothReader_OnCardPowerOffCompleteListener) ; cdecl; procedure setOnCardStatusAvailableListener(listener : JBluetoothReader_OnCardStatusAvailableListener) ; cdecl; procedure setOnCardStatusChangeListener(listener : JBluetoothReader_OnCardStatusChangeListener) ; cdecl; procedure setOnDeviceInfoAvailableListener(listener : JBluetoothReader_OnDeviceInfoAvailableListener) ; cdecl; procedure setOnEnableNotificationCompleteListener(listener : JBluetoothReader_OnEnableNotificationCompleteListener) ; cdecl; procedure setOnEscapeResponseAvailableListener(listener : JBluetoothReader_OnEscapeResponseAvailableListener) ; cdecl; procedure setOnResponseApduAvailableListener(listener : JBluetoothReader_OnResponseApduAvailableListener) ; cdecl; end;
TJBluetoothReader = class(TJavaGenericImport<JBluetoothReaderClass, JBluetoothReader>) end;
const
TJBluetoothReaderERROR_SUCCESS = 0; TJBluetoothReaderERROR_INVALID_CHECKSUM = 1; TJBluetoothReaderERROR_INVALID_DATA_LENGTH = 2; TJBluetoothReaderERROR_INVALID_COMMAND = 3; TJBluetoothReaderERROR_UNKNOWN_COMMAND_ID = 4; TJBluetoothReaderERROR_CARD_OPERATION = 5; TJBluetoothReaderERROR_AUTHENTICATION_REQUIRED = 6; TJBluetoothReaderERROR_LOW_BATTERY = 7; TJBluetoothReaderERROR_AUTHENTICATION_FAILED = 8; TJBluetoothReaderERROR_CHARACTERISTIC_NOT_FOUND = 1000; TJBluetoothReaderERROR_WRITE_DATA = 1001; TJBluetoothReaderERROR_TIMEOUT = 1002; TJBluetoothReaderERROR_SET_NOTIFCIATION_FAILED = 1003; TJBluetoothReaderERROR_READ_CHARACTERISTIC_FAILED = 1004; TJBluetoothReaderERROR_UNDEFINED = 1005; TJBluetoothReaderERROR_INVALID_DATA = 1006; TJBluetoothReaderERROR_COMMAND_FAILED = 1007; TJBluetoothReaderBATTERY_STATUS_NONE = 0; TJBluetoothReaderBATTERY_STATUS_FULL = 254; TJBluetoothReaderBATTERY_STATUS_USB_PLUGGED = 255; TJBluetoothReaderCARD_STATUS_UNKNOWN = 0; TJBluetoothReaderCARD_STATUS_ABSENT = 1; TJBluetoothReaderCARD_STATUS_PRESENT = 2; TJBluetoothReaderCARD_STATUS_POWERED = 3; TJBluetoothReaderCARD_STATUS_POWER_SAVING_MODE = 255; TJBluetoothReaderSTATE_DISCONNECTED = 0; TJBluetoothReaderSTATE_DISCONNECTING = 3; TJBluetoothReaderSTATE_CONNECTING = 1; TJBluetoothReaderSTATE_CONNECTED = 2; TJBluetoothReaderDEVICE_INFO_SYSTEM_ID = 10787; TJBluetoothReaderDEVICE_INFO_MODEL_NUMBER_STRING = 10788; TJBluetoothReaderDEVICE_INFO_SERIAL_NUMBER_STRING = 10789; TJBluetoothReaderDEVICE_INFO_FIRMWARE_REVISION_STRING = 10790; TJBluetoothReaderDEVICE_INFO_HARDWARE_REVISION_STRING = 10791; TJBluetoothReaderDEVICE_INFO_SOFTWARE_REVISION_STRING = 10792; TJBluetoothReaderDEVICE_INFO_MANUFACTURER_NAME_STRING = 10793;
麻烦请给出具休代码,谢谢,能让我理解更明白。
----------------------------------------------
- |
作者: |
|
2017/10/13 8:44:38 |
1楼: |
你要知道 世间万物都是互相有联系的。 一般不会单独提供给你。
另外 XE 没有 10,最高是 8。
再另外,假设真的没有联系。你这个类 存在 init 。知道这个函数是干嘛的吗?
不知道去看下面的文章吧。
关于 调用 JNI JAR java 的说明和注意事项,调用第 靠写不下了 http://www.2pascal.com/forum.php?mod=viewthread&tid=1384&fromuid=4 (出处: 2Pascal-新时代的Pascal)
----------------------------------------------
(C)(P)Flying Wang
|
|