Matlab y JDDE
Actualizar: El problema se resolvió con la ayuda de MathWorks. He publicado la respuesta a continuación.
Necesito controlar un programa (Zemax) de Matlab. Desafortunadamente, Zemax solo es compatible con DDE para dicho control, que Matlab ya no admite. Funciona, pero deja de funcionar en la plataforma de 64 bits después de unas pocas llamadas DDE (presumiblemente 63).
Me pregunto si hay soluciones de trabajo. Probablemente podría programar una DLL con el soporte DDE correcto y luego usar DDE en Matlab a través de esta DLL. Este es un gran esfuerzo para mí. Una solución más adecuada sería utilizar métodos Java DDE. Siguiendootro post Aquí, he descubierto la biblioteca JDDE. Sin embargo, no puedo hacer que funcione: incluso si estoy en el directorio con los archivos DLL y JAR, ejecutando
import pretty-tools.JDDE-2.0.3.*
funciona bien pero llamando
a = com.pretty_tools.dde.client.DDEClientConversation()
después (como hechoaquí) resulta en
Undefined variable "com" or class "com.pretty_tools.dde.client.DDEClientConversation".
Tengo privilegios de escritura muy limitados en mi PC, así que he agregado eljavaclasspath.txt
archivo con la ubicación jar / dll al directorio indicado porprefdir
. El archivo se ve así:
C:\Users\xxxxxxxx\Documents\matlab toolbox\jdde\pretty-tools-JDDE-2.0.3.jar
Vocaciónjavaclasspath
muestra un listado largo con las últimas líneas siendo:
...
C:\Program Files\MATLAB\R2012b\java\jarext\webservices\ws_client_core\mw-service-client-core.jar
C:\Users\kkarapet\Documents\matlab toolbox\jdde\pretty-tools-JDDE-2.0.3.jar
DYNAMIC JAVA PATH
<empty>
Así que el camino parece estar configurado correctamente. ¿Qué estoy haciendo mal?