第一范文网 - 专业文章范例文档资料分享平台

Delphi与Matlab混合编程的设计与实现

来源:用户分享 时间:2025/5/22 6:46:37 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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组件。

搜索更多关于: Delphi与Matlab混合编程的设计与实现 的文档
Delphi与Matlab混合编程的设计与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c943251c0o08njyy27jk4_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top