Quando prestamos um concurso ou uma prova de certificação, todos gostariam de ter o resultado na hora, certo? Da mesma maneira acontece quando estamos programando! Desenvolvemos o código, mas antes de rodar e fazer todos os testes necessários, não teremos a resposta se a solução é funcional ou não. É o que acontece quando chamamos uma função; a mesma pode ser executada com sucesso ou não. Isto é algo que nossa equipe de Integração e Desenvolvimento Urmet Daruma se preocupou antes de desenvolver a DarumaFramework.dll, caprichando em seu tratamento de retornos, deixando-o de uma forma rápida e pratica para o desenvolvimento. Por quê? Porque não adianta trabalhar sem saber o resultado na hora da execução ou ter todo aquele trabalho de rodar o sistema em modo debug. Os mais de 230 métodos disponibilizados na DarumaFramework.dll possuem retornos, que indicam se a execução do método ocorreu com sucesso ou não, se tem algum aviso com relação à execução e ainda no caso de uma execução mal sucedida nos indica o motivo da Não-Execução(Erro). Como, por exemplo: Erro Ex. RZ do movimento anterior pendente. Confira mais na tabela de erros: http://bit.ly/stw9Re Aviso: Ex. Papel acabando Confira mais na tabela de avisos: http://bit.ly/uWSqW0 | ||||
Configurando o DarumaFramework.xml: O DarumaFramework.XML possui uma chave exclusiva para facilitar no tratamento de retornos. Sim, a chave <RetornarAvisoErro>1</RetornarAvisoErro>, caso o valor desta chave seja “0”, os retornos de método serão limitados a “0” (Método Não Executado) e ”1” (MétodoExecutado), sendo sempre necessário analisar os códigos de erro e aviso. Quando o valor da chave for configurado para “1” retornará o inteiro “-12” no Retorno do Método caso o método executado tenha algum aviso ou erro. Assim podemos reduzir o tratamento de erros e avisos, tratando erro e aviso apenas se o Retorno do Método for < 1, caso sim mostre o retorno conforme a tabela de retornos. Caso o retorno do método venha = 1, é sinal que o método foi executado com sucesso, não precisando chamar as funções para verificação de erros e avisos. Funções: Agora você deve estar pensando: If (Int_NumAviso <> 0) Then Select Case Int_NumAviso Case "1" Str_Msg_NumAviso = "[1] - Papel Acabando" Case "2" Str_Msg_NumAviso = "[2] - Tampa aberta" Case "3" Str_Msg_NumAviso = "[4] - Bateria fraca" Case "4" Str_Msg_NumAviso = "[40] - Compactando" Case Else ' Se o NumAviso desconhecido Str_Msg_NumAviso = "[" + Str_Msg_NumAviso + "] - Aviso Desconhecido!" End Select Else 'Se Aviso = 0 (ok) Str_Msg_NumAviso = "[0] - Sem Aviso" End If Chega destas rotinas! Com a DarumaFramework.dll nosso problema esta resolvido com apenas 2 funções para interpretar os retornos. VB6 Private Sub LeituraX_Click() Dim int_erro, int_aviso As Integer Dim str_erro, str_aviso As String str_erro = Space(100) str_aviso = Space(100) iRetorno = iLeituraX_ECF_Daruma iRetorno = rStatusUltimoCmdInt_ECF_Daruma(int_erro, int_aviso) iRetorno = eInterpretarAviso_ECF_Daruma(int_aviso, str_aviso) Else End If End Sub C(Sharp) if (DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno == 1) System.Windows.Forms.MessageBox.Show("Método executado com Sucesso!"); } DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rStatusUltimoCmdInt_ECF_Daruma(ref Int_NumErro, System.Windows.Forms.MessageBox.Show(Convert.ToString((Str_Msg_NumAviso))); } begin Int_Retorno:= iLeituraX_ECF_Daruma(); Int_Retorno:=rStatusUltimoCMDInt_ECF_Daruma(Int_NumErro, Int_NumAviso); // Mensagem do erro Str_Erro:=Str_Msg_NumErro; Application.MessageBox( Pchar('Número Erro = ' + pchar(Str_Erro) + #13 + 'Número Aviso = ' + pchar(Str_Aviso)), 'DarumaFramework Retorno do Método', mb_ok); end; E já que estamos falando de retornos dos métodos, você sabia que a maior parte dos métodos nos devolve também uma Informação Estendida?
Código da chamada da função de Totalização e da Informação Estendida private void Totalizar_Click(object sender, EventArgs e) { string Str_ValorDescAcresc, Str_TipoDescAcresc; Str_ValorDescAcresc = TB_ValorDescAcresc.Text.Trim(); DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFTotalizarCupom_ECF_Daruma O que foi Impresso no Cupom Fiscal: O que foi Retornado na Aplicação Viu só como é fácil? Agora é só implementar mais este recurso que a Daruma desenvolveu exclusivamente para você parceiro desenvolvedor! | ||||
E-mails: ddc.suporte@daruma.com.br suporte.ddc@daruma.com.br desenvolvedores.suporte@daruma.com.br suporte.desenvolvedores@daruma.com.br desenvolvedores.daruma@daruma.com.br suporte@daruma.com.br suporte.alexandre@daruma.com.br claudenir@daruma.com.br | ||||
Skypes: ddc_suporte_daruma suporte_ddc_daruma desenvolvedores_suporte_daruma suporte_desenvolvedores_daruma desenvolvedores_daruma suporte_daruma suporte_alexandre_daruma claudenir_andrade | ||||
| ||||