11 abril, 2005

[Java] Jacob

¿Alguien ha usado Jacob? Es un sw que hace de puente Java-Com (es decir, permite usar objetos COM o DLLs desde Java, sin tener que escribir código JNI). He leido que es bastante bueno, pero hay muy poca documentación sobre su uso..

--Xris--
"Y cómo huir cuando no quedan islas para naufragar.."

08 marzo, 2005

[C] Error: "Must define a target architecture"

Este error aparece en el módulo winnt.h

Estoy investigándolo.. pero me está haciendo perder más tiempo del necesario.. Al parecer tengo que compilar con alguna versión de MS Visual C, pero me parece demasiado fuerte que hagan el código TAN restringido a sus productos..

--Xris--
"Si no me buscas puede ser que un día me encuentres.."

17 febrero, 2005

[Java] Problemas con los puertos COM

Después de varias horas, por fin he solucionado el siguiente problema:
Utilizando javax.comm, intentaba obtener el listado de puertos disponibles (serie y paralelo) mediante
CommPortIdentifier.getPortIdentifiers();
y no me detectaba ningún puerto. Sabía que los puertos "estaban" porque se podía acceder a ellos mediante el hiperterminal.

Causa:
En el directorio JAVA_HOME/jre/bin faltaba el fichero win32com.dll, y en el directorio JAVA_HOME/jre/lib faltaba el fichero javax.comm.properties. (Al parecer estos ficheros se copian al instalar javaComm, pero yo había cambiado de jdk posteriormente, sin reinstalar javaComm).

Solución:
Copiar los ficheros en su ubicación correcta.

--Xris--

"Y de pronto descubrir una puerta sin abrir, y sentir que al otro lado algo hay que espera por ti..."

18 enero, 2005

Ingeniería Inversa con Rational Rose

No sé si la gente del grupo usa esto, pero desde que lo descubrí me pareció una maravilla. Todos sabemos que antes de ponerse a programar deberíamos bosquejar las cosas, y planearlas bien.. Pero como en muchos casos no se hace (a veces porque heredamos el código de otros) esta utilidad del Rational nos permite documentar las cosas que no hicimos a priori.

La idea es sencilla, cogerá el código fuente (en este caso en Java) y creará las estructuras de las clases para luego poder hacer esos "dibujos" tan bonitos de UML, diagramas de clases y todo eso..

Sólo tenemos dos pasos, elegir los directorios del Class Path [Tools/Java/Project Specification...], y decirle que convierta las clases que seleccionemos [Tools/Java/Reverse Engineer Java...]. Pero hay un pequeño truco, que a veces se me olvida de una vez para otra.. y por eso lo escribo aquí:

Si tomamos sólo los directorios donde tenemos nuestras clases, la mayoría de ellas darán error pq no encuentra los paquetes, o la clase String o cualquiera de las básicas.. Claro, a continuación piensas, pues incluyo todos los paquetes.. pero si pones el directorio no te lo toma.. (aunq en el segundo paso se puede especificar que tome .class, eso no hay problema), y no hay ganas de andar descomprimiento todos los .jar, la verdad.. El secreto está en especificar el .jar "a mano".. en vez de desde la ventanita típica de abrir documentos (donde no deja de ninguna manera..). Importante; las clases básicas de Java están en el paquete rt.jar, dentro del lib que está dentro de jre. (Por ejemplo la ruta C:\JBuilderX\jdk1.4\jre\lib\rt.jar).

Es una tontada.. pero cuando pierdes quince minutos diciendo.. "si esto lo hice hace tiempo.. cómo era..?", pues ala!, así es ;-)

--Xris--

"Hoy es siempre todavia.."