Jump to content

dev botao

functions retorno do Pointer


alberonisse
  • Este tópico foi criado há 1516 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa noite equipe de desenvolvimento do ACBr, vi que os amigos usam uma forma de retorno dos dados em que é alocado 256 bytes na memoria e se a resposta for maior que isso é necessário fazer um novo alocamento de memoria com o tamanho retornado para ser enviado uma segunda solicitação a lib para ser retornado os dados que ficaram armazenados estaticamente... bom minha pergunta e ao mesmo tempo dica seria a seguinte: porque não simplesmente é alocado um stream de bytes na lib com a seguinte estrutura:

OFFSET 0 = Resultado  (1 byte) (0=Sucesso)

OFFSET 1 = Length (4 bytes) (DWORD) Integer unsigned podendo armazenar um valor de 0 a 4294967295 podendo armazenar mais de 4 GB
OFFSET 5 = A partir desse ponto ate o Length seria a informação que desejaria retornar

O retorno das funções seria apenas o  Pointer, eu fiz os testes fica muito mais pratico, rápido e organizado o código 

Link to comment
Share on other sites

  • Fundadores

A ideia era fazer algo mais simples  e compatível possível...

A ideia inicial era implementar como a API do Windows, com uma chamada informando o tamanho Zero, apenas para saber o Tamanho necessário para a locação de memória...

Mas achamos que da maneira que está, facilita o uso, principalmente para programadores que nunca trabalharam com DLLs 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

Caso o amigo queira posso enviar o exemplo em Java juntamente com a dll que separei as funções do VFPe, acho que ficou ate mais simples...

52 minutos atrás, Daniel Simoes disse:

A ideia era fazer algo mais simples  e compatível possível...

A ideia inicial era implementar como a API do Windows, com uma chamada informando o tamanho Zero, apenas para saber o Tamanho necessário para a locação de memória...

Mas achamos que da maneira que está, facilita o uso, principalmente para programadores que nunca trabalharam com DLLs 

 

  • Thanks 1
Link to comment
Share on other sites

35 minutos atrás, Rafael Dias disse:

não vejo como seria mais simples pois da maneira que descreve sempre terei que fazer uma chamada para alocar a memoria e outra para limpar a mesma, ficando 6 por meia duzia

Amigo atualmente isso ja é feito...

Link to comment
Share on other sites

Não hoje em dia é feito diferente, nem sempre eu preciso fazer outra chamada para fazer ter acesso a string completa e se quiser posso passar uma string maior, agora da sua forma vou sempre ter que fazer 2 chamadas nas funções da lib, não vejo o pq de ser mais eficiente assim ou melhor.

 

Link to comment
Share on other sites

8 minutos atrás, Rafael Dias disse:

Não hoje em dia é feito diferente, nem sempre eu preciso fazer outra chamada para fazer ter acesso a string completa e se quiser posso passar uma string maior, agora da sua forma vou sempre ter que fazer 2 chamadas nas funções da lib, não vejo o pq de ser mais eficiente assim ou melhor.

O Protocolo que sugeri é muito parecido com da lib do SAT... mais tudo bem você tem razão

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • Administradores

Bom dia.

Dado que a conclusão deste tópico é que não haverão mudanças nos fonte originadas desta conversa, estou encerrando o tópico e caso no futuro haja necessidade pode ser criado um novo tópico sobre o assunto.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Este tópico foi criado há 1516 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.