olá…boa noite a todos…gostaria de saber se algum de vcs tem algum exemplo de como chamar uma dll feita de VB6
estou apanhando nesse codigo… já tem um bom tempo… DESDE JÁ AGRADEÇO A TODOS.
[quote=alexcomput]olá…boa noite a todos…gostaria de saber se algum de vcs tem algum exemplo de como chamar uma dll feita de VB6
estou apanhando nesse codigo… já tem um bom tempo… DESDE JÁ AGRADEÇO A TODOS.[/quote]
Já tentou fazer uma busca por JNI ou JNA no Google?
moço… JNA nao serve para acessar uma DLL como alguns colegas disseram…entao…descreveram que tem que usar jacob…entao estou apanhando com esse jacob …para entender…e para codificar…então se tivesse algum exemplo pra mim fico grato…
“moço”, se JNA não conecta com DLL, como você explica a existência de tópicos como este ?
EDIT - Ah, em tempo… a aplicação não dá a mínima se a DLL foi feita em VB, em C, em C++ ou em C# ou …
[]´s
[quote=asaudate]“moço”, se JNA não conecta com DLL, como você explica a existência de tópicos como este ?
EDIT - Ah, em tempo… a aplicação não dá a mínima se a DLL foi feita em VB, em C, em C++ ou em C# ou …
[]´s[/quote]
ou brother da um olhadinha nesse tópico aqui…eu não vou discutir uma coisa que não sei…mais pelos o que os outros integrantes estão dizendo
eles disseram que não dá…né…agora nao sei…
masi mesmo assim valeu pela ajuda.
http://www.guj.com.br/posts/list/198834.java#999759
Jacob êh utilizado para chamar activeX object que normalmente são um .ocx se este for o seu caso va fundo com ele senão êh melhor partir para Jna mesmo.
Bom brother. oque eu sei que o vendedor disse que a DLL é feita em VB6 só que igual eu disse para o pessoal…algumas funções ela chama de boa outras não…fica com erro na maquina virtual… e danado do erro http://www.guj.com.br/posts/list/198834.java#999759
bom…como disse .será que alguém tem algum exemplo de como utilizar esse jacob… um exemplo pode ser bem simples mesmo…desde já agradeço.
Para você escrever um programa que usa corretamente o Jacob, infelizmente é necessário fazer o seguinte:
a) Escreva um programa em uma das linguagens (VB6, VBScript, VBA, Delphi sem ser o Delphi.NET) que chame as funções dessa tal DLL desenvolvida em VB6.
b) A seguir, desde que você tenha conseguido fazer o tal programa funcionar (não precisa ser um programa completo; só chamar as funções que você quer chamar na DLL, com os parâmetros corretos), traduza, usando o Jacob, o seu programa VB6 para Java.
c) Não dá para usar o Java direto, sem passar por essa etapa de ver se seu programa funciona em VB6 antes.
E mais um problema - isso não tem solução; normalmente programas escritos em VB6 têm problemas com threading - então normalmente você precisa sincronizar o acesso aos métodos da sua DLL que usa Jacob, até porque há um monte de problemas se você tentar fazer o acesso a partir de 2 ou mais threads distintas do Java. Um dos problemas que ocorre é simplesmente derrubar seu sistema Java.
Se for possível, crie um Web Service em uma linguagem que consiga chamar a sua DLL VB6 (talvez o Delphi, já que o VB6 é antigo demais para suportar direito web services), e chame esse web service a partir do Java. É menos perigoso - pelo menos não derruba seu sistema Java.
Uma outra solução é vc criar uma DLL em C++ que acessa o seu Objecto COM\ActiveX e acessar esta DLL criada por vc utilizando JNA, normalmente. Isto não é muito dificil de se fazer se vc souber um pouco de C++.
O artigo abaixo explica em portugues e detalhadamente como acessar estes tipos de objetos em C++, assim vc tb poderá testar a sua DLL que eu vi que vc gostaria de fazer no outro topico.
http://support.microsoft.com/kb/816151/pt
Assim vc elemina o Jacob que ta de dando esta dor de cabeça.
Olá…entanglement desde já agradeço pela ajuda… então…o pessoal da placa de aquisição que eu estou utilizando
disponibilizaram o codifo fonte desse projeto… o negocio é que é no meu tcc então queria fazer ele em tempo real…
mais acho que vou tentar fazer igual vcs sugeriram. o sitema web service…o foda que é um sistema desktop…
mais é uma boa solução a ser pensada …desde já agradeço a todos pela ajuda…deixa eu ver qual a melhor solução agora… a que eu gasto menos tempo para fazer.