如果我在 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/