3

如果我在 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 内核的链接运行良好。

4

1 回答 1

0

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

据我了解,当您从 C# 访问 Mathematica 内核时,这不允许访问作为 GUI 一部分的 Notebook 类。

于 2013-01-28T12:05:13.607 回答