Estou Desesperado : Exception in thread "Thread-2"

Fala aeh pessoal :smiley:

Estou arrancando os cabelos com um erro aqui, eu tenho uma aplicação que uso envio de mensagem via Serial, eh para um impressora, na maquina que eu desenvolvi ela funciona maravilhosamente bem, só que na hora de passar para um OUTRA maquina eu tenho o seguinte erro:

Error loading win32com: java.lang.UnsatisfiedLinkError: no win32com in java.library.path Exception in thread "Thread-2" java.lang.NullPointerException at impressorarexam.Impressao.<init>(Impressao.java:41) at impressorarexam.Impressora.run(Impressora.java:60)

E já testei em mais de 2 maquinas diferentes e continuo tendo o mesmo erro…oque poderia estar acontecendo se na maquina que eu desenvolvi funciona normalmente o .jar e em outras maquinas não funciona… voces podem me dizer ???

vc usa serial - com1 com2 ?

Copie a dll win32com.dll para algum diretório no seu PATH. Por exemplo, em c:\windows\system32.

P.S. Desespero não resolve problemas. O máximo que pode ocorrer, estando você desesperado, é você cortar os pulsos, mas isso não resolve seus problemas, e ainda cria problemas para outros. Mantenha a cabeça fria.

Opa… consegui fazer funcionar amigos…

Eu estou usando a COM1, e faltava coloca o win32com.dll no seu devido lugar la no JDK, ao fazer isso conseguir rodar ele pelo NetBeans

Oh problema agora eh que eu preciso fazer ele rodar direto pelo .jar e continua dando o MESMO erro de quando estava o sem o wind32com.dll…

Pelo NetBeans roda mas pelo .jar não… como resolvo isso ?

Tentei adicionar o win32com.ddl pelo DOS, joguei ele dentor da pasta Windows\System32 e pelo DOS digitei regsvr win32com.dll para adicionar ela ao grupo de DLL´s … porem deu o seguinte erro

wind43com.dll foi carregado mas o ponto de entrada DLLRegisterServer não foi localizado. Este arquivo não pode ser registrado.

Alguem sabe como fazer isso ? ou sabe como adicionar ele ao projeto de outra forma ?? pelo netBeans ? ClassPath ?

Isso é normal e na verdade esperado; essa DLL não pode ser registrada (ou seja, ela não pode ser referenciada pelo VB 6.0 usando “References”). DLLs JNI normalmente não precisam e não podem ser registradas, porque elas normalmente não são usadas para componentes COM.

Você sabe por que é que se registram DLLs?

Espero que você não seja adepto da escola de programação “Harry Potter”, que é muito comum em ambiente Microsoft. Basicamente os egressos de Hogwarts, aham, os programadores em ambiente Microsoft daquelas linguagens como o VB, Delphi etc., por mais que estudem (você pode chegar ao nível da Hermione Granger, não?), chegam a um ponto que fazem as coisas “por mágica”, sem saber por que é que elas funcionam assim.

Expecto Patronum! :stuck_out_tongue:

Certo entendo, mas como faço para resolver esse problema agora ?
Consigo rodar via NetBeans mas via .jar ele abre o programa mas da o mesmo erro de antes…