Dúvida com relação a utilização de OCX

9 respostas
M

Pessoal, estou precisando acessar um componente OCX chamado ESP7.ocx. Ele serve para realizar operações com o Mainframe BULL. Eu consegui acessar via javascript, mas estou precisando acessar em java. Já pesquisei na internet e vi que existem uns frameworks que auxiliam, como: jawin, com4j, jacob, etc. Porém, não obtive sucesso por conta da complicação. Pode ser que seja possível acessar com elas, se alguem tiver algum exemplo satisfatório, ficaria grato.

Marcos

9 Respostas

ViniGodoy

Quando eu precisei fazer integração ocx, fiz através do Groovy. A parte de OCX ficava em scripts, infinitamente mais simples do que aquela parafernalha de quando usamos o jacob diretamente.

M

Você poderia me mostrar um trecho de código?

ViniGodoy

Infelizmente não. Mudei de empresa.

Mas tem exemplos no próprio site do Groovy:
Bridging the Gap Between Java and .NET with Groovy and Scriptom

M

package org.yourcompany.yourproject;

import org.codehaus.groovy.scriptom.*;

public class Fips140Sha1

{

public byte[] generateHash(String input)

{

return Scriptom.inApartment

{

ActiveXObject sha = new ActiveXObject(MyFips140Crypto.SHA);

SafeArray hash = sha.GenerateHash(input);

return hash.toArray(); //Converts COM SafeArray to Java byte[]

}

}

}

Então no caso o ‘MyFips140Crypto.SHA’ é o arquivo ocx?
E como eu acesso as funções/métodos?

ViniGodoy

Isso mesmo.

Para acessar as funções e métodos, vc simplesmente chama eles!

No exemplo que você mesmo postou, ele usa a função GenerateHash.

M

Eu não estou entendendo o código, ele da um return Scriptom.inApartment e abre chaves, ta dando erro de compilação no meu projeto, já copiei os jars e coloquei no meu projeto. O que eu não entendi é que tem um executável também, pra que serve ele?
Ele não consegue achar o pacote scriptom em “import org.codehaus.groovy.scriptom.*;”

ViniGodoy

Você leu o artigo todo?

Aquele código é em Groovy. Groovy é uma linguagem de programação. Você deve escrever um script, nessa linguagem, e instanciar esse script pelo java, usando o GroovyClassLoader.

M

Ah tah certo, não tinha lido por que eu achava que era uma API, que era só importar as classes e pronto. Vou tentar denovo.

M

OK, coloquei no console do groovy e quando tento executar, da o seguinte erro:

Exception thrown: This script or class could not be run.
It should either:

  • have a main method,
  • be a JUnit test, TestNG test or extend GroovyTestCase,
  • or implement the Runnable interface.

groovy.lang.GroovyRuntimeException: This script or class could not be run.
It should either:

  • have a main method,
  • be a JUnit test, TestNG test or extend GroovyTestCase,
  • or implement the Runnable interface.

O que fazer?

Criado 16 de novembro de 2009
Ultima resposta 17 de nov. de 2009
Respostas 9
Participantes 2