Delphi与Matlab混合编程的设计与实现 联系客服

发布时间 : 星期三 文章Delphi与Matlab混合编程的设计与实现更新完毕开始阅读e9917d222f60ddccda38a0c4

Class name选项:设置类名称。一般将鼠标点击空白位置,系统会自动生成类名。(MyPclass)

Project version选项:版本号。系统默认为1.0,将来要修改或添加其他函数时,可以修改此选项为2.0,3.0等。 Project directory选项:工程所在目录。

Complier options选项:编译器配置选项,全部选中。 最后单击OK。

b. 管理M文件和MEX文件:

单击Project Files->plotclass->M-files,然后选中comtool菜单Project->Add File选项,添加上面写好的M函数,还可以添加更多的M或MEX函数。 c. 生成组件:

单击Build按钮,选中Com Object选项,这时com-builder会帮你自动编译连接该组件,生成所需要的头文件,源文件,接口描述文件,动态连接库文件,等等。

在右侧Build Status显示框里给出了编译的过程和信息。

在菜单Component->Component Info里有关于接口、类、库的信息。

在工程所在目录里,出现了两个子文件夹,distrib和src,里面有其他应用程序需要用到的文件、库、资源、接口等。distrib子目录下会生成一个DLL文件,生成的DLL文件自动注册到系统中。 d. 打包和分发组件:

选择Component->Package Component,选中Include MCR选项,点击Create...创建一个自解压的可执行程序。生成的MyP.exe可执行文件存放在distrib子目录下,当应用程序在其他电脑上使用时,需先执行此.exe文件注册组件。 5. Delphi调用COM组件: a. 加入COM组件:

Project->Import Type Library…,选择刚生成的MyP_1_0.dll文件,点击Install…按钮,安装组件,选择IntoNewPackage,设置Package名称和目录。选择Compile编译生成组件。

在组件面板中找到ActiveX选项卡,把组件MyPClass放到界面上。默认命名为MyPclass1。

b. 使用COM组件:

在界面上放置一个按钮,编辑该按钮的事件,修改其代码如下: procedure TForm1.Button1Click(Sender: TObject); var

x , y : OleVariant; i : integer; begin

x := VarArrayCreate([1,10], varDouble); y := VarArrayCreate([1,10], varDouble); for i := 1 to 10 do begin x[i] := i; y[i] := i*(i-5); end;

MyPclass1.MyPlot(x,y); end; 6. 软件打包:

为了将Matlab产生的组件注册文件MyP.exe和Delphi应用软件封装打包,可以利用InstallShield Developer 8来实现。 a. 在Application Data->Files and Folders中设置软件包含的文件。

b. 在Behavior and Logic->Custom Actions中添加OnFirstUIAfter函数,并在末尾加入以下两行: Delay(2);

if (LaunchAppAndWait(INSTALLDIR+\

MessageBox(\ endif;

作用是:在第一步安装过程结束后,运行安装目录下的\\MyP\\MyP.exe文件。 c. 编译:Build

d. 发布:Distribute,即生成安装软件,运行setup.exe即可安装软件,且自动注册Matlab组件。