[JAVA/DELPHI/ANDROID]Erro Callback projeto android

22/05/2020

5

Tenho o seguinte fonte em Java para android:
Código:


class PrinterCallbackStub extends IPrinterCallback.Stub {


@Override
public void onSuccess() throws RemoteException {

}

@Override
public void onError(int i) throws RemoteException {

}
}


//aqui chamando a função de printer

PosDigital.getInstance().getPrinter().init();
PosDigital.getInstance().getPrinter().setGray(5);
PosDigital.getInstance().getPrinter().defineFontFormat(FontFormat.MEDIUM);
PosDigital.getInstance().getPrinter().addText(AlignMode.LEFT, "Barcode: 20");
PosDigital.getInstance().getPrinter().addText(AlignMode.LEFT, " ");
PosDigital.getInstance().getPrinter().print(new PrinterCallbackStub());




Para utlizar isso no delphi eu adicionei um .jar que a SDK do fabricante e gerei o arquivo JNI com Java2OP.

As funções que não possui calback esta funcionando, mas essa ai que é passado o PrinterCallbackStub() não estou conseguindo reproduzir.

Segue o trecho do JNI gerado :
Código:

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>) end;

JIPrinterCallback_StubClass = interface(JBinderClass)
[''{758A2E1B-E31A-4221-BAC7-8092F224090A}'']
function asInterface(P1: JIBinder): JIPrinterCallback; cdecl;
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>) 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>) end;





Como tem que ficar esse callback?

Eu tentei assim, mas esta errado:
Código:

TPrinterCallback = class(TJavaLocal,JIPrinterCallback)
procedure onError(P1: Integer); cdecl;
procedure onSuccess; cdecl;


end;


Desde já agradeço.

Essa dúvida foi gerada a partir de um comentário na aula Introdução ao FireMonkey - O que é FireMonkey? - Vídeo 1
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar