Nessa postagem darei um exemplo bem simples de como integrar o Protheus com Csharp. Primeiramente temos que registrar no windows um arquivo ocx que está dentro do smartclient chamado apconnxcontrol.ocx . Para registrar é simples, eu copiei o arquivo para a pasta System32 do windows, logo depois executei o cmd.exe e fiz o seguinte comando:
regsvr32 apconnxcontrol.ocx . Lembrando que no Windows 7 você tem que executar o cmd.exe como administrador, caso contrário não dará certo.
Concluída essa etapa, é hora de abrir o Visual Studio.
No exemplo a seguir eu usei o VS 2010 e criei um novo projeto do tipo Console. Faça o mesmo e com o Program.cs aberto clique em adicionar uma nova referencia conforme figura abaixo:
Usando a guia Browse vá até a pasta System32 do Windows e selecione o arquivo apconnxcontrol.ocx:
Nessa etapa já temos o "link" com nossa ocx do protheus. Agora é só por a mão na massa e começar a brincar com as funções. No exemplo abaixo criei uma User Function no protheus que retorna um array de string. Após compilado, fui no Visual Studio e feito as devidas referências eu fiz com que o código em C# executasse a minha User Function do protheus e exibisse o retorno dela no Console.
//user function compilada no protheus
#INCLUDE "rwmake.ch"
User Function RetTest()
Local aTeste := {}
aaDD(aTeste,"teste1")
aaDD(aTeste,"teste2")
aaDD(aTeste,"teste3")
Return aTeste
Código no C#, observe as referências :
Se tudo der certo teremos o resultado abaixo:
Tem uma documentação de RPC nos fóruns de advpl, lá tem mais detalhes. Espero ter colaborado com algum conhecimento e lembrando que podemos usar a ocx em outras linguagens que tem suporte a esse tipo de arquivo. Até a próxima.
Este comentário foi removido pelo autor.
ResponderExcluirlegal. Estou precisando fazer uma integração em c#. Buscar informaçoes sobre banco de horas
ResponderExcluir