更新:問題在MathWorks的幫助下解決。我已經在下面發表了答案。Matlab和JDDE
我需要從Matlab控制程序(Zemax)。不幸的是,Zemax只支持這種控制的DDE,而Matlab不再支持。它可以工作,但是在幾個(可能的63)DDE調用之後停止在64位平臺上工作。
我不知道是否有工作解決方案。我可能可以用正確的DDE支持編程一個DLL,然後通過這個DLL在Matlab中使用DDE。這對我來說是一項重大的努力。更合適的解決方案是使用Java DDE方法。繼這裏的another post後,我發現了JDDE庫。但是我不能讓它工作:即使我在與DLL和JAR文件的目錄,執行
import pretty-tools.JDDE-2.0.3.*
工作正常,但呼籲
a = com.pretty_tools.dde.client.DDEClientConversation()
後來在
(如做 here)結果Undefined variable "com" or class "com.pretty_tools.dde.client.DDEClientConversation".
我在我的電腦上的寫入權限非常有限,所以我已經將帶有jar/dll位置的javaclasspath.txt
文件添加到0所指示的目錄中。該文件是這樣的:
C:\Users\xxxxxxxx\Documents\matlab toolbox\jdde\pretty-tools-JDDE-2.0.3.jar
調用javaclasspath
顯示了最後的線是一個長列表:
...
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>
所以路徑似乎是正確設置。我究竟做錯了什麼?