c# - 命令 "nb = NotebookCreate[]"在 Mathematica 中失败?

标签 c# .net .net-4.0 wolfram-mathematica mathlink

如果我在 Mathematica 中打开一个笔记本,并输入“nb=NotebookCreate[]”,它会按预期创建一个新的笔记本窗口。

但是,如果我在 C# 中尝试相同的命令,它会失败,并且不会打开新的笔记本窗口:

IKernelLink ml = MathLinkFactory.CreateKernelLink();
ml.WaitAndDiscardAnswer();
string cmd = @"nb = NotebookCreate[]";
string result = ml.EvaluateToOutputForm(cmd, 0);

// result is now "$Failed".

请注意,如果我传入“2+2”,它会返回“4”,这证明与 Mathematica 内核的链接运行良好。

最佳答案

不幸的是,对于 Mathematica v8 来说这似乎是不可能的(而且我认为 v9 中没有太大变化)。

据我了解,当您从 C# 访问 Mathematica 内核时,这不允许访问笔记本类,它们是 GUI 的一部分。

关于c# - 命令 "nb = NotebookCreate[]"在 Mathematica 中失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12606421/

相关文章:

.net - 是否有现有的库/技术来减少 .NET 表达式树?

c# - 使用 PostAsJsonAsync C# 时出现错误请求

.net-4.0 - HTTP 错误 500.23 - 内部服务器错误

c# - 如何检查用户是否存在于 LDAP 上

c# - 设置MDI-Parent Form的可用区域

c# - 如何确保流被完全读取?

.net - 如何从 .NET 应用程序启动 `powercfg.exe -energy`?

c# - 观察集合中项目的 PropertyChanged

c# - 与从 C++ 到 C# 的内存映射文件共享链式结构

c# - 如何使用动态 settings.Blah 而不是 AppSettings ["blah"]?