Comunicação com Balança Digital

10 respostas
D

Tenho de desenvolver uma aplicação em java para comunicação com uma balança da marca toledo. Tenho os códigos em VB e em Delphi, mas como não entendo nada destas duas linguagens gostaria de ver se alguém tem algum exemplo em java de comunicação com balança digital, ou se pode me dar uma força em passar de Delphi ou VB para Java.
:cry:

10 Respostas

caiofilipini

Existe uma DLL para esta balança? Se existir, vc vai precisar usar JNI.

[]'s

D

Sim existe uma DLL pronta para esta balança, só que nunca mexi com DLL e estou meio perdido em como começar, pois tenho os códigos prontos em Delphi e VB, tenho a DLL, mas não tenho nenhum exemplo em java e não entendo VB e Delphi. Agradeço se tiveres algum exemplo ou se puderes me ajudar nesta conversão de linguagem. :frowning:

Luca

Olá

Douglas, posso dizer com certeza que na vida quem ganha dinheiro não aquele que faz e sim o que manda fazer. Você tem um problema e pode demorar para resolver. Porque não age como empresário e sugere a contratação de um especialista para resolver com rapidez este problema localizado? Assim sua solução funcionará em menos tempo e você não precisará perder o foco daquilo que sabe fazer bem.

Colocar um anúncio buscando gente que conheça o assunto é o melhor conselho que posso lhe dar para resolver seu problema sem perder muito tempo.

[]s
Luca

aborges

Vc possui alguma documentacao sobre esta DLL ou somente os fontes (VB/Delphi) ??

D

Eu tenho a documentação da dll em um arquivo PDF.

aborges

Entao. Dah uma olhadinha na documentacao para vc conhecer as funcoes da danadinha.

Daih, dah uma estudada em JNI ( Java Native Interface ) para criar uma DLL q fara a interface com o java…

Nao sei o quao complexo eh isso, pois a unica vez q trabalhei com JNI foi utilizando o Jacob, porem acho q ele soh trabalha com COMs ( Component Object Models ) e no seu caso provavelmente esta DLL seja uma Library.

Em todo caso a ideia do Luca tb pode ser considerada :wink:

D

Valeu a dica, obrigado pela força.

M

Eu já trabalhei com softwares para balanças em C, e a comunicação era através da RS232 (Serial), e em java vc tbm pode trabalhar com a porta serial http://java.sun.com/products/javacomm/index.jsp, e recebendo diretamente as informaçoes da balança no java, sem o uso da DLL, fazendo que o seu código torne portável.

D

Valeu a dica musch, mas acontece que pelo fato de a DLL ter sido desenvolvida pelo fabricante, a empresa onde trabalho não quer abrir mão de utilizá-la para não se preocupar com a parte de tratamento da linha de peso e com a busca direta deste tipo de dado com a balança. Abraço

T

Não é tão mau assim conhecer algumas linguagens - mesmo aquelas do titio Bill, tipo VB.

O jeito mais bobo de você resolver o seu problema (é meio parecido com ir de São Paulo a Fortaleza pegando um avião que faz escala em Brasília, Belém, Manaus, Altamira, Imperatriz, São Luís e então chegar em Fortaleza. Pelo menos você não precisa ir de ônibus…) é assim:

  1. Veja na documentação como é que você deve chamar esta DLL no VB. Se for via “DECLARE FUNCTION”, você vai ter de escrever uma pequena DLL em VB (nada muito complicado). Se for via “Reference”, então vá para o passo 3.
  2. Escreva uma ActiveX DLL em VB que chame as funções da DLL. (Passa/repassa…)
  3. Aqui você deve usar o tal de Jacob, uma biblioteca que é capaz de chamar ActiveX DLLs (também conhecidos como “Componentes COM”) a partir do Java. Esse Jacob não é muito difícil de usar; na verdade ele tenta emular o antigo suporte a ActiveX da MS JVM.

O passo 2) pode ser feito em Delphi também, e dependendo de sua expertise em Delphi, talvez seja até mais fácil.

Dica: JNI pode ser mais rápido (se funcionar direitinho, é um avião direto para Fortaleza), mas não é para qualquer um (você tem de saber C e saber o que está fazendo - ou seja, conhecer os conceitos da Máquina Virtual Java. É um pouco braçal, mas não é fácil de debugar se você não tem muita experiência com C).

Criado 12 de agosto de 2004
Ultima resposta 12 de ago. de 2004
Respostas 10
Participantes 6