Estou com uma dúvida, a aplicação que estou desenvolvendo é para fazer a comunicação com uma balança digital da Toledo, ela faz a comunicação com a dll da balança. Seguinte ao executar o código da aplicação ele me retorna um valor ret = 999 que na aplicação “Indica que não conseguiu detectar a hardkey local ou de rede”, e ao executar a aplicação passo a passo (debug) ela me retorna ret = 0 “Indica que a leitura foi válida”. Preciso sincronizar os processos dentro do arquivo, só que não entendi muito bem como fazer isto, pois procurei material sobre sincronização e nenhum deles mostrava como fazer isto dentro de um “public static void main(String[] args) {“, sempre que tento colocar um synchronizer(this) no programa, ele acusa que no static não posso ter o (this), agradeço se alguém puder me dar uma ajuda. Segue o código:
package toledo.cliente;
import ezjcom.JComException;
public class ClienteBalanca {
public static void main(String[] args) {
COMBalanca balanca = null;
try {
balanca = new COMBalanca();
balanca.__JComInitialize();
_COMBalanca _balanca = balanca.get_COMBalanca();
int t = _balanca.COM_W9091Serial(1);
if (t < 0){
System.out.println("AH!!!");
}
if (_balanca.COM_Select_Canal(t) != 0){
int ret = _balanca.COM_Update_Canal(t);
System.out.println("ret = " + ret);
if (ret == 0){
String peso_bruto = _balanca.COM_Gross_Canal(t);
System.out.println("Bruto: " + peso_bruto);
String peso_tara = _balanca.COM_Gross_Canal(t);
System.out.println("Tara: " + peso_tara);
String peso_liq = _balanca.COM_Gross_Canal(t);
System.out.println("Liquido: " + peso_liq);
String estadoMovimento = _balanca.COM_Estado_EmMovimento(t);
System.out.println("Estado Movimento: " + estadoMovimento);
String estadoCanal = _balanca.COM_Estado_Canal(t);
System.out.println("Estado Canal: " + estadoCanal);
}
}
_balanca.COM_Close_Canal(t);
}catch (JComException e) {
e.printStackTrace();
}
}
}