Multiplataforma Windows e Linux - DarumaFramework

Veja a demonstração do driver DarumaFramework em QT.

Olá pessoal, hoje vamos ver o que é o QT.

O QT é uma Framework multiplataforma para desenvolvimento em C++.

Com ele é possível desenvolver aplicativos e bibliotecas uma única vez e compilá-los para diversas plataformas, sem que seja necessário alterar o código fonte do projeto.

Bom, isto se a DLL utilizada também for multiplataforma, caso contrário não adianta de nada desenvolver em uma linguagem multiplataforma e sua aplicação ficar presa em um sistema operacional apenas, pois utiliza bibliotecas incompatíveis com outros sistemas operacionais.

Quando desenvolvemos a camada DarumaFramework foi exatamente nisto que pensamos, ter uma camada que rode em diversos tipos de plataformas sem que seja necessário nenhum tipo de alteração no código.

O mesmo comando que você chama na camada PHP, no JNI, na DLL do Windows, e na SO no Linux será exatamente o mesmo! Isto faz com que sua aplicação seja completamente multiplataforma.

Nossa equipe de Integração e Desenvolvimento Daruma atendeu mais um de seus feedbacks e entrega hoje o exemplo em QT, veremos um pouco abaixo porque a DarumaFramework é referencia quando o assunto é multiplataforma, como o QT.

Na hora em que a aplicação compilada em QT é executada ela necessita fazer apenas uma única verificação, se é ambiente Windows ou Linux, para que assim possa apontar o diretório da DLL ou SO.

/** No trecho abaixo é feita a verificação se a aplicação está rodando em Linux ou Windows, para que se carregue a DarumaFramework na memória. **/ void carregarDarumaFramework(QWidget *Janela) { string erro = NULL; QString ExtBiblioteca; if(!bibliotecaDinamica){ #ifdef WIN32 bibliotecaDinamica = LoadLibrary(TEXT("DarumaFrameWork.dll")); ExtBiblioteca = ".dll"; #else bibliotecaDinamica = dlopen("/usr/local/lib/libDarumaFramework.so", RTLD_NOW); ExtBiblioteca = ".so"; #endif }

Pronto, só isto mesmo pessoal, as declarações feitas são exatamente iguais.

É só declarar uma vez e independente da plataforma irá executar perfeitamente. Vamos simular a emissão de um cupom fiscal em QT.

//** Declarações**// int iCFAbrir_ECF_Daruma(string CPF, string Nome, string Endereco) ; int iCFVenderResumido_ECF_Daruma(string CargaTributaria, string PrecoUnitario, string CodigoItem, string DescricaoItem) ; int iCFEncerrarResumido_ECF_Daruma(void) ; //** Abaixo é criado um botão e nele executados os comandos para a emissão de um cupom fiscal **// void MainWindow::on_pushButton_clicked() { iCFAbrir_ECF_Daruma("111.111.111-11","DemoQt","Av Daruma"); iCFVenderResumido_ECF_Daruma("F1","10,00","123456","ITEM UM"); iCFVenderResumido_ECF_Daruma("F1","10,00","123456","ITEM DOIS"); iCFVenderResumido_ECF_Daruma("F1","10,00","123456","ITEM TRÊS"); iCFEncerrarResumido_ECF_Daruma(); }

Independente do sistema operacional em que a aplicação seja executada será impresso o mesmo cupom fiscal, conforme abaixo.

Todos os comandos são 100% compatíveis, vejamos agora uma função com retorno de informações.

//** Declaração**// int rRetornarNumeroSerie_ECF_Daruma(string SerialCriptografado, string Serial) ; //**Abaixo é criado um botão e nele é executada a função para captura no numero de série e exibição em uma caixa de mensagem**// void MainWindow::on_pushButtonNS_clicked() { QMessageBox::information(this,"Numero de Série: ",QStrRetorno); }
Nota:
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados