quarta-feira, 10 de agosto de 2011

Integração do Protheus com C# e .Net


Hoje irei mostrar um outro exemplo de integração do Protheus com DotNet usando a linguagem C#. Neste exemplo irei solicitar ao protheus o cálculo do valor de parcelas (simulação de parcelas), ou seja,irei fazer a conexão da minha aplicação em DotNet com o servidor de aplicações, passarei alguns parâmetros como valor total, código da condição de pagamento e irei obter um array como retorno informando a data de vencimento e valor da parcela. Pra começar é necessário registrar a ocx apconnxcontrol.ocx e fazer referência da mesma no Visual Studio, para isso crie um novo projeto do tipo Console e siga os passos mostrados da publicação anterior "Integração do Protheus com C# ". Feito isso, minimize o Visual Studio, crie e compile o seguinte código fonte no Protheus.


No fonte eu expliquei que poderia referenciar diretamente a função do Protheus que realiza as simulações, mas tive dificuldade em passar como parâmetro o tipo data, então pra não ficar defendendo teoria, criei a user function que faz o tratamento da data que é passada pelo Visual Studio como string.

Voltando ao Visual Studio, criei uma classe que realiza a conexão com o Protheus e também um método que aciona minha user function e obtém o resultado da simulaçao de parcelas. Observe o código da classe e seus comentários.



E na classe principal irei criar o seguinte código:


Para ver o programa funcionando, veja o vídeo abaixo:
obs: Veja em tela cheia para melhor visualização.











8 comentários:

  1. Muito Boa explicação, Parabéns.

    ResponderExcluir
  2. Tentei de diversas maneiras registrar esse OCX do Protheus mas tive erro no meu Visual Studio 2010, existe algum macete para esse tipo de procedimento?

    ResponderExcluir
  3. Thiago, depois da ocx registrada corretamente, é só fazer a referência dela no VS. O seu sistema operacional é de quantos bits ?

    ResponderExcluir
  4. Consegui, o problema era exatamente isso o numero de bits que para registrar a OCX eu nao podia pelo system32.

    Muito Obrigado pela atenção e ótimo tutorial.
    Parabens.

    ResponderExcluir
  5. Ola a imagem do fonte esta baixa, tem como enviar o fonte?

    ResponderExcluir
  6. falvou incluir na pasta system32 ou na pasta sysWOW64 a DLL apconn.dll, se ela nao estiver na pasta a OCX nao registra

    ResponderExcluir
  7. meu win7 eh 32bits. Ja copiei o ocx para pasta system32. Ja executei o comando no msdos. Nao consegui registrar mensagem de erro:"The module apconnxcontrol.ocx" failed to load. Make sure the binary is stored at the specified path or debug it check for problems with the binary or dependent.DLL files. The specified module could not be found

    ResponderExcluir