Para utlizar o sdk do fabricante no meu projeto android utilizando o delphi, eu gerei o .jar e adicionei no libs do meu projeto e depois gerei o JNI usando o java2op. As funções que não precisa implementar o Callback esta funcionando que mostra que o delphi esta se comunicando com o java.
A dificuldade esta em implementar o Callback de impressão: Trecho JNI gerado pelo java2op:
JIPrinterCallbackClass = interface(JIInterfaceClass)
['{ABEF5590-D20B-43A1-A35B-807051A7330D}']
end;
[JavaSignature('com/getnet/posdigital/printer/IPrinterCallback')]
JIPrinterCallback = interface(JIInterface)
['{08B39C40-A389-4ED5-9E6B-DA7D6A8C7600}']
procedure onError(P1: Integer); cdecl;
procedure onSuccess; cdecl;
end;
TJIPrinterCallback = class(TJavaGenericImport<JIPrinterCallbackClass, JIPrinterCallback>) end;
JIPrinterCallback_StubClass = interface(JBinderClass)
['{758A2E1B-E31A-4221-BAC7-8092F224090A}']
{class} function asInterface(P1: JIBinder): JIPrinterCallback; cdecl;
{class} function init: JIPrinterCallback_Stub; cdecl;
end;
[JavaSignature('com/getnet/posdigital/printer/IPrinterCallback$Stub')]
JIPrinterCallback_Stub = interface(JBinder)
['{CF6E873A-2FA2-4C71-A2FA-66B27EDA1A72}']
function asBinder: JIBinder; cdecl;
function onTransact(P1: Integer; P2: JParcel; P3: JParcel; P4: Integer): Boolean; cdecl;
end;
TJIPrinterCallback_Stub = class(TJavaGenericImport<JIPrinterCallback_StubClass,
JIPrinterCallback_Stub>) end;
JIPrinterCallback_Stub_ProxyClass = interface(JIPrinterCallbackClass)
['{D013AB01-DBD9-4CC3-AC42-CB036F080131}']
end;
[JavaSignature('com/getnet/posdigital/printer/IPrinterCallback$Stub$Proxy')]
JIPrinterCallback_Stub_Proxy = interface(JIPrinterCallback)
['{5FB7E803-D568-43F9-8F42-634E96FC5279}']
function asBinder: JIBinder; cdecl;
function getInterfaceDescriptor: JString; cdecl;
procedure onError(P1: Integer); cdecl;
procedure onSuccess; cdecl;
end;
TJIPrinterCallback_Stub_Proxy = class(TJavaGenericImport<JIPrinterCallback_Stub_ProxyClass,
JIPrinterCallback_Stub_Proxy>) end;
Tenho que reproduzir o codigo abaixo que esta em java em delphi:
public class MbPrinterCallback extends IPrinterCallback.Stub {
@Override
public void onSuccess() throws RemoteException {
}
@Override
public void onError(int i) throws RemoteException {
}
}
Como ficaria em delphi o codigo citado?
Desde já agradeço.