超链接导致编译的MATLAB应用程序崩溃

时间:2018-10-18 11:01:33

标签: matlab hyperlink matlab-compiler

我有一个已编译的matlab应用程序,其中包含gui。此gui中还包含一个网页index.html。在html中,有一个指向网站的超链接。单击此链接时,我希望Matlab在外部浏览器中加载网页。当前,这是我使用的超链接:

<a href="matlab:web('http://www.google.com','-browser')">Help</a>

但是,单击后,编译的程序将崩溃并立即关闭。当我从matlab中启动程序时,不会发生这种情况。在这种情况下,它可以按预期(和想要)运行。该效果仅在编译应用程序时出现。为什么是这样?有什么办法可以解决?

编辑:这是一个简单的可验证示例,等等。

首先是简单的matlab代码:

% Create a blank figure window
f=figure('Name','Browser GUI Fail','Units','norm');

% Add the browser object
com.mathworks.mlwidgets.html.HTMLRenderer.setUseWebRenderer(false);
jObject = com.mathworks.mlwidgets.html.HTMLBrowserPanel;
[browser,container] = javacomponent(jObject, [], f);

set(container,'Units','normalized','Position',[0 0 1 1 ]);
url=['file:/'  which('index.html') ];
browser.setCurrentLocation(url);

第二个html文件index.html

<!DOCTYPE html>
<html>
<body>

<p>stuff, anything at all <a href="matlab:web('http://www.google.com','-browser')">Help</a> </p>

</body>
</html>

在程序的编译版本中,链接失败。我在Windows上,并且使用2014b。

1 个答案:

答案 0 :(得分:3)

我在Windows编译的GUI中有一个类似的问题,我使用dos调用解决了该问题。

dos('start http://www.google.com');