- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
更新:该问题已在 MathWorks 的帮助下得到解决。我已在下面发布了答案。
我需要从 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".
我在 PC 上的写入权限非常有限,因此我已将包含 jar/dll 位置的 javaclasspath.txt
文件添加到 prefdir
指示的目录中。该文件如下所示:
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>
所以路径似乎设置正确。我做错了什么?
最佳答案
在 MathWorks 支持的帮助下,我找到了答案。这是如何制作 JDDE使用 Matlab 2012b,无需管理员权限:
$path-to-jdde$\
。prefdir
。打开生成的目录并在其中创建两个文件:javaclasspath.txt
和 javalibrarypath.txt
。$path-to-jdde$\pretty-tools-JDDE-2.0.3.jar
。$path-to-jdde$\
。现在调用ddeConv = com.pretty_tools.dde.client.DDEClientConversation;
并开始使用创建的对象,如JavaDoc中所述。 。例如。要连接到 Zemax,请运行 Zemax,然后调用 ddeConv.connect('Zemax', 'abc')
。
上述步骤 2 只能从 Matlab R2012b 版本开始完成。对于旧版本,如果您对 Matlab 安装目录具有写入权限,则应该能够通过编辑 $MATLABROOT$\toolbox\local 中的文件librarypath.txt 和 classpath.txt 来替换步骤 2。我无法验证它,所以如果您确认它,请在下面的评论中告诉我。
关于java - Matlab 和 JDDE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19403610/
更新:该问题已在 MathWorks 的帮助下得到解决。我已在下面发布了答案。 我需要从 Matlab 控制一个程序 (Zemax)。不幸的是,Zemax 只支持 DDE 进行此类控制,Matlab
我想在 Java 中使用 DDE,经过一番研究后我决定使用 http://jdde.pretty-tools.com/ 我的这个项目的编程平台是 NetBeans。 但是,我遇到了一个小问题。我已经按
我正在使用外部 java 包 jdde在 MATLAB 中。请注意,对于以下示例,软件包附带的 DLL 文件需要位于 MATLAB librarypath 上。执行此操作的方法因您的 MATLAB 版
我是一名优秀的程序员,十分优秀!