Delphi中利用ActiveX实现matlab的自动化 。谁能帮我解释一下每个语句的含义

来源:百度知道 编辑:UC知道 时间:2024/07/04 09:19:29
procedure TForm1.Button1Click(Sender:Tobject);
var matlab:variant;
begin
try
matlab:=GetActiveOleObject('Matlab.Application');
except
matlab:=CreateOleObject('Matlab.Application');
matlab:=CreateOleObject('Matlab.Application.5');
matlab.execute('a=[1 1/ 3 1/5] ');
matlab.execute('b=[3 1 1/3]');
matlab.execute('plot(a,b)');
end

var matlab:variant; //通过"变体"调用接口是比较低效的,但很方便
begin //变体这种结构,本是vb中的东西。
try //如果已有活动的matlab.application对象,取其接口
matlab:=GetActiveOleObject('Matlab.Application');
except //这些个api所使用到的参数,其实都可以在注册表里搜索到.
matlab:=CreateOleObject('Matlab.Application'); //否则自己创建之
matlab:=CreateOleObject('Matlab.Application.5');
matlab.execute('a=[1 1/ 3 1/5] '); //matlab.application接口具有
matlab.execute('b=[3 1 1/3]'); //这种方法(接口),否则会出错
matlab.execute('plot(a,b)');