基于动态链接库的FAMOS二次开发方法研究

合集下载

基于MSC.Marc二次开发进行粘弹性问题分析 (1)

基于MSC.Marc二次开发进行粘弹性问题分析 (1)
其中 ,[ C ]为泊松比矩阵 ; [ N ]为工程剪应变和
剪应变张量的转换矩阵 。
1 -μ -μ
0
0
0
-μ 1 -μ
0
0
0
-μ -μ 1
0
0
[ C] =
0
0
0 2 (1 + μ)
0
0 ;
0
000
0
2 (1 + μ)
0
000
0
0
2 (1 + μ)
1
1
1
[N] =
2
2
2
同理 ,可以推导得到球应力引起粘性变形增量 ( GPa·s) η2
3 (1 - 2μ)
注 :这里假定应力偏量和球应力引起粘性变形的规律与应力张量引 起的粘性变形规律相同 。
表 2 不同时刻垂直位移比较 Table 2 The comparison of vertical displacement
仍取表 1 中数据 ;基岩
为线 弹 性 材 料 。计 算
尺寸 :m
时间 步 长 取 Δt = 86
图 4 混凝土坝示意图
400 s(1 d = 86 400 s) ; Fig. 4 The sketch of concrete dam
累计时间 T = 46 656 000 s(540 d) 。图 5 为混凝土坝
粘弹性模型的本构关系可分为两部分 :其一是 球应力分量下的本构关系 ;其二是应力偏量下的本 构关系 。文献[ 1~3 ]假定粘性变形只有剪切变形 , 而无体积变形 ,即仅应力偏量产生粘性变形 ,球应力 只产生弹性变形 ;文献[ 4 ]则假定球应力和应力偏量 都产生粘性变形 。显然 ,为了合理地考察工程材料 在荷载作用下的粘性变形性态 ,有必要分别对球应 力和应力偏量进行考察 。大型通用商业软件 MSC. Marc 分别提供了球应力和应力偏量引起粘性变形 的开放式子程序接口 。由于目前关于采用 MSC. Marc 软件进行弹塑性分析的文献报导很多[5 ,6 ] ,而 关于采用 MSC. Marc 软件进行粘弹性 、弹粘塑性等 分析的文献报导很少 。据此 ,本文初步探讨了基于 MSC. Marc 的粘弹性问题分析 ,通过 MSC. Marc 软 件开放式程序接口开发了广义开尔文模型 ,并进行 了算例分析 ,得到了一些有益的结论 。

用C 实现混合使用MAPGIS的多种二次开发方式

用C  实现混合使用MAPGIS的多种二次开发方式

图3 然后选择GisEdit Contrl控件并插入,如图4、图5所示。
图4
图5 调整对话框大小及GisEdit控件大小,添加几个功能按钮,如图6所示。 白色部分为GisEdit控件。
图6 用C++实现混合使用MAPGIS的多种二次开发方式(二) 为了操作GisEdit控件,在ClassWizard中,将GisEdit控件添加为成员变 量。变量名为m_MapGIS。如图7所示
图1 注册成功后,出现图2所示对话框:
图2 如果没成功的话,看看是否和MAPGIS的DLL文件放在同一目录下,因为 它还要依赖MAPGIS的DLL库。 然后用VC中的MFC AppWizard生成一个对话框架的应用程序。打开 所生成的对话框资源,在对话框资源上右击,并选择Insert ActiveX Control…菜单。如图3所示。
} 为了在视窗改变大小时,m_MapGIS控件也改变大小,为视类添加一个 WM_SIZE消息,在其生成的OnSize函数中添加如下代码。 void CMapView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); // TODO: Add your message handler code here m_MapGIS.MoveWindows(cx,cy);// GisEdit控件中新增的改变窗口大小 函数 } 在菜单资源中,修改“打开文件”项,改成“打开工程文件”;并将其(资 源ID号:ID_FILE_OPEN) 在视窗类中(本例为CMapView)建立消息 映射。在映射函数中加入如下代码: void CMapView::OnFileOpen() { // TODO: Add your command handler code here m_MapGIS.LoadProject(); } 编译整个工程并运行,打开一个MAPGIS工程文件,运行结果如图11, 所示

Tecnomatix二次开发技术研究

Tecnomatix二次开发技术研究
第 4期
21 0 2年 4月
文 章 编 号 :0 13 9 (0 2 0 — 0 1 0 1 0 — 9 7 2 1 )4 0 8 — 2
机 械 设 计 与 制 造
M a h n r De i n c iey sg & M a ufc u e n a t r 81
T co t en mai 次 开发技 术研 究 术 x二
朱俊 江 李 明宇 ‘ 吴 波 赫 宏联 2 ( 华 中科技大 学 机械 科学与 工程学 院 , ’ 武汉 4 0 7 )(北 车唐 山轨 道客车有 限责任公 司 , 山 0 3 3 ) 304 唐 6 0 5
Re e c n s c n a y d v o me t e h oo y f r e n ma i p l a i n s ar h o e o d r e elp n c n lg o c o t a pi t t t x c o
关键 词 : e n mai; E I ; T c o t . TAP ; 二次开发 xN C#

【 bt c】 i e¥ en m t nu et ee f a l o i it au c r g A s at S m n Tco ax s c er nlo nd o w fpa r wt d i l n at i r e iia o r y p s t e t m h gam f un f
下 , 于 Mirsf V sa Su iN TP o si a 2 0 dt n环境 , 用 C≠ T c o ai 软 件 系统进 j 基 coo i l tdo E rf s n l 0 5e io t u . e o , i 应 }对 en m t x
行 二 次 开发 的 实例 . ;

利用MapGis二次开发技术实现第二次土地调查权属协议书的自动生成——以成都地区为例

利用MapGis二次开发技术实现第二次土地调查权属协议书的自动生成——以成都地区为例

利用 MaGs p i二次 开发技 术 实现第 二次 土地 调 查 权 属 协 议 书 的 自动 生成
— —
以成都 地 区为例
汪 宏 , 国业 , 任 李天和 , 王 昕
( 四川省农业科学院遥感应用研究所 , 四川 成都 606 ) 106
摘 要: 第二次全 国土地调查是一项关系国民经济发展大局的重大国情 国力调查 , 也是一项技 术性 、 专业性、 政策性很强的社会系
目前农村产权制度的改革, 以及新农村建设发展, 权 属调查意义重大。第二次土地调查 中权属调查一般 调绘到村或组( 如成都地区调绘到组) 权属调查方 ,
1 技术方法与关键技术
法主要是双边指界, 实地调绘上图, 并签定权属协议书。 1 1 技术 方法 . 基于县( 市) 区、 级土地利用 现状标准 的数据 目 权属协议书的制作方法主要是采用传统手工填表、 前,
大局 的重要 国情 国力 调查 , 是一 项技术性 、 涉及 多学
县 ( 市 ) 土 地调 查 是 按 相关 规 程 、 范 建 区、 级 规 立 土地 利用 现状 数据 库 , 实现 图 、 、 数 实地 一致 。其
科 的系统工程。土地调查成果直接为国土资源科学 管理、 社会经济宏观决策提供基础依据 , 对国民经济
西
12 3





21 00年 2 3卷 l 期
Vo . 3 12 No 1 .
S uh e t iaJun lo r utrlS in e o tw s Chn o ra fAgi l a ce cs c u
文 章 编 号 :0 1 4 2 (0 0 0 — 12— 5 10 — 8 9 2 1) 1 03 0

基于DLL的SolidWorks二次开发

基于DLL的SolidWorks二次开发

基于DLL的SoiidWorks二次开发回程磊杨永顺摘要论述利用Visuai C++6.0编程语言通过动态链接库DLL对SoiidWorks进行二次开发的原理和一些关键技术,并结合实例具体说明DLL程序代码的设计。

关键词:Solidworks动态链接库Visual C++二次开发CAD中图分类号:TP391.7 文献标识码:A 文章编号:1671—3133(2004)09—0038—03Redevelopment Solidworks application program based on DLL technology回Cheng Lei,Yang YongshunAbstract Introduces the principie and some key technoiogy of the redeveiopment SoiidWorks with Visuai C++through Dynam-ic Link Library fiie,combined with exampies to ciarify the design method of dii programming code.Key words:Solidworks Dynamic link library Visual C++Redevelopment CADSoiidWorks是一套基于三维造型的机械设计自动化软件,功能强大且操作简单。

它采用参数化尺寸驱动和特征造型技术建立零件的三维模型,可以动态模拟装配过程,可以由三维实体自动生成二维工程图。

SoiidWorks的尺寸全相关技术使得零件、装配体及工程图在不同文件中显示同一模型,如果在一个文件中对模型进行了修改,则包含此模型的其他文件也会相应更改。

因此与目前普遍采用的对二维CAD软件如AutoCAD进行二次开发相比较,二次开发三维CAD软件SoiidWorks具有开发周期短、工作量小等优点,而且有了三维实体模型可以对重要零、部件进行有限元分析与优化设计(CAE),可以模拟数控加工(CAM),这样就易于实现CAX系统的集成。

MSC.ADAMS 二次开发技术应用研究

MSC.ADAMS 二次开发技术应用研究

MSC.ADAMS二次开发技术应用研究王晓东西北大学MSC.ADAMS二次开发技术应用研究Application Research Of The RedevelopingTechnique Of MSC.ADAMS王晓东西北大学摘要:MSC.ADAMS不仅是一个优秀的虚拟样机建模和分析软件,同时也可作为开发虚拟样机分析应用软件的有效工具。

用户可以针对特定的应用需求,对MSC.ADAMS进行功能定制和二次开发,扩充其功能或者将其仿真分析功能集成到自己的程序中。

本文从编写MSC.ADAMS用户自定义函数和MSC.ADAMS/SDK开发两个方面,对MSC.ADAMS的二次开发技术及其在工程上的应用进行了介绍。

关键词: MSC.ADAMS 虚拟样机二次开发用户自定义函数Abstract: MSC.ADAMS is an excellent software of virtual prototyping analysing,as well as a developing tool .For the specific purpose,users can redevelop the MSC.ADAMS software so as to strengthen the capability of simulation and analysis,or integrate such capability into your own applications. The redeveloping technique of MSC.ADAMS softwre is briefly described in programing user-writen functions and devoloping MSC.ADAMS/SDK.Key words: MSC.ADAMS,virtual prototyping,redevelopment,user writen functions1 前言虚拟样机技术(Virtual Prototype Technology)是当前设计制造领域的一门新兴的CAE技术,主要功能是在计算机上建立机械系统的三维实体模型和力学模型,分析和评估系统的性能,为物理样机的设计和产品的制造提供参数依据。

Visual C(++)对SolidWorks的二次开发方法

Visual C(++)对SolidWorks的二次开发方法

基金项目:河南省科技攻关资助项目(0324250066)作者简介:程 磊(1981-),男,河南新蔡人,硕士生.收稿日期:2003-12-16文章编号:1672-6871(2004)02-0042-04Visual C ++对SolidWorks 的二次开发方法程 磊1,杨永顺1,陈建军2(1.河南科技大学材料科学与工程学院,河南洛阳471003;2.河南科技大学附属工厂,河南洛阳471003)摘要:针对目前普遍开发三维C AD 系统的需要,讨论了对三维绘图软件S olidW orks 进行二次开发的方法,并结合实例重点阐述利用Visual C ++6.0编程语言开发S olidW orks 动态连接库D LL 的步骤和编程方法,所开发的D LL 实现了于S olidW orks 的无缝集成,对相关三维C AD 软件的开发是一种启示和借鉴。

关键词:程序设计;开发;计算机辅助设计中图分类号:TP311.11文献标识码:A0 前言为了缩短产品开发周期、提高市场竞争能力,各企业在产品设计中大多要对通用C AD 软件进行二次开发,建立适合自己的专用模块。

但目前所开发的C AD 系统,一般是对二维绘图软件如AutoC AD 进行二次开发,实现机械零件参数化设计。

由于二维绘图软件本身无法实现参数化驱动,所以对其进行二次开发的周期长、工作量大、不易实现C AX 系统的集成。

而三维绘图软件如S olidW orks ,采用特征建模、参数化驱动可方便地设计出三维实体模型[1]。

利用三维实体模型可以自动生成二维工程图;可以在生产之前动态模拟装配过程、进行干涉检查;可以对重要零部件进行有限元分析与优化设计(C AE );可以模拟数控加工(C AM );可以生成零件的工艺规程(C APP ),这样就易于实现C AX 系统的集成。

所以基于三维绘图软件的二次开发必将成为今后C AD 技术发展的主流。

本文将讨论在Visual C ++6.0的集成开发环境下,对S olidW orks 进行二次开发实现机械零件参数化设计的方法,并结合实例说明二次开发的具体实现过程。

基于MSC_Marc二次开发的土体静力和地震非线性分析方法

基于MSC_Marc二次开发的土体静力和地震非线性分析方法

第28卷第3期2008年6月地 震 工 程 与 工 程 振 动J OURNAL OF EARTHQUAKE ENG I N EER ING AND E NG I NEER I NG V I BRAT ION V o.l 28N o .3Jun .2008收稿日期:2007-04-01 修订日期:2007-11-20基金项目:国家自然科学基金项目(50478036);云南/十#五0重点项目作者简介:刘洁平(1977-),女,博士研究生,副研究员,主要从事结构抗震反应分析研究.E-m ai:l ji ep i ng_li u @126.co m文章编号:1000-1301(2008)03-0178-06基于M SC .M arc 二次开发的土体静力和地震非线性分析方法刘洁平,张令心,石 磊(中国地震局工程力学研究所,黑龙江哈尔滨150080)摘要:本文在M SC .M arc 提供良好的用户二次开发环境下,利用用户使用的应用编程接口U SER S U B .HYPELA,添加了多层土的静力Duncan -Chang 本构关系模型和动力等效线性化本构关系模型,并通过两个算例验证了本文二次开发的可靠性。

关键词:M SC .M a rc ;二次开发;D uncan -Chang ;等效线性化中国分类号:P315.981 文献标志码:AStatic and seis m ic non -li near anal ysis nethods of soilsbased on M S C .M arc redevelop m entL I U Ji e pi n g ,Z HANG Lingx in ,S H I Lei(I n stitute of Engi n eeri ngM echan i cs ,C h i na E arthqu ake Adm i n istrati on ,H arb i n 150080,C hina)Abst ract :Under t h e favorab le redevelopi n g cond ition and App lication Progra mm ing I n terface USER SUB .HYPELA for user applied by M SC .M arc ,Duncan -Chang m odel fo r stati c non linear elastic ana lysis and equivalent lineariza -ti o n m odel for nonlinear dyna m ic ana l y sis o fm ult-i layer so ils are added ,and t w o exa m ples are calcu lated to verify t h e reliab ility of the redevelopm en.tK ey w ords :M SC .M arc ;redeve l o p m en;t Duncan -Chang ;equ i v a lent li n earization引言近20年来,在各种工程实际中提出了很多需要计算和分析的重要问题,为精确地完成这些计算和分析,经常需要在成熟的有限元分析软件中二次开发相关的算法和本构关系模型。

SPSS 二次开发导引

SPSS 二次开发导引

SPSS二次开发导引兰州商学院 项泾渭【摘要】本文意在介绍SPSS二次开发涉及的开发环境和介绍SPSS几大对象的特点和相互之间的关系,并结合具体实例作为导引,希望能对广大SPSS用户使用SPSS的二次开发接口完成一些自己特定的分析提供帮助。

关键字:面向对象;SaxBasic;二次开发一、前言SPSS是“社会科学统计软件包”(Statistical Package for the Social Science)的简称,是一种集成化的计算机数据处理应用软件,其菜单式简单易懂的操作方法赢得了大量用户。

但经研究发现SPSS在菜单Analyze中给出的分析方法是由许多独立的宏命令组合而成,这意味着我们可以自己组合宏命令实现一些SPSS菜单现在尚不能实现的功能。

本文主要就是讲解如何使用SPSS内置的Sax Basic语言来控制这些宏命令和SPSS内置几大对象来完成一些用户自定义的任务。

SPSS提供的二次开发基础语言是Sax Basic,它首先是面向对象的一种语言。

用它可以轻松操纵所有SPSS对象,包括各种对象对应的方法、属性。

文章第二部分讲述了SPSS自带的开发环境和脚本调式方法。

第三部分列出了SPSS的基本对象,并对这些基本对象和他们的关系逐一解释。

二、开发环境简介SPSS提供了自己的开发环境,只要我们单击菜单File-New-Script即可打开它的脚本编辑环境。

打开后我们发现代码1:Sub MainEnd Sub(代码1)熟悉VB的朋友可能已经知道这是一个过程的声明,所有脚本程序入口都必须是这个Main过程,我们的其它逻辑实现的代码语句和函数调用等都必须包括在这个过程中才会被执行。

作为快速入门,我们掌握下程序的执行和排错即可。

单击菜单的Script-Run为执行,排错方法是当执行出错后点击菜单的Debug-Quick Watch即会显示错讯息。

三、SPSS内置几大对象介绍我们先看下SPSS内置几大对象的树状关系图,如图1图1从图中可以看到,Application对象处于最高级别,只要有一个SPSS应用程序实例,即可通过对objSpssApp对象(它会自动寻找已存在的SPSS应用程序实例,并通过将自己设置为已存在的SPSS应用程序实例的引用)的调用来引用该实例下面的子类。

基于OLE自动化技术的SPSS二次开发原理及应用

基于OLE自动化技术的SPSS二次开发原理及应用

J n ,O 8 u . 2 O
基 于 O E 自动 化 技 术 的 S S L P S二 次 开 发 原 理 及 应 用
胡 辉
( 东交通大学 经济管理学院应用统计 研究 所 , 华 江西 南 昌 30 1 ) 303
摘要 : 随着计算机技 术的迅速发展 , 建立在各种统计方法模 型基础 上的统计 分析软件在 实际中的应用成 为可能 . 如何 灵活 但
收 稿 日期 :O8 3 9 2O —0 —1
安装 完 SS 件 以后 , 一 次 运 行 它 时 SS PS软 第 PS
作者简介 : 胡
辉 (93 , , 17 一)男 江西萍乡人 , 华东交通大学经济管理学 院统计 系教师 , 研究方向为统计分析与数 据挖掘
维普资讯
维普资讯
第 2 卷第 3期 5 2O O8年 6月 文章编号 : 0 —02 (08 0 一 O4 5 1 5 5320 )3 O 6 —0 0








、 . 5 No 3 12 .
J u n l f s C ia J o o g Unv ri o ra t hn i tn i s y o Ea a e t
原 理本身 有深入 的 了解 )因此 , 活使用 统计 软件 、 . 灵
深 度挖掘 软件功 能 就 变得 必 要 , 建立 在 这 些统 计 而
分 析软件基 础 上 的二 次开发 便是解 决这 些 问题 的主
要手段 . 事实 上 , A , P s S A I IA这 些 具 有 国 际 S S S s 。 T TS C T
使 用 统 计软 件 , 深度 挖 掘 软 件 功 能 去 解 决 实 际 中的 复 杂 问题 , 往 需要 对 软 件 进 行 二 次 开 发 . 先从 软 件 开发 原理 的 角度 , 往 首 以

GSM MODEM 动态链接库二次开发接口说明

GSM MODEM 动态链接库二次开发接口说明

自动化产品系列开发指南适用于GSM MODEM模块GSM MODEM 动态链接库 (DLL) 二次开发指南V2.0.0奥佳电气自动化产品,您成功的选择尊敬的用户:欢迎您使用奥佳电气为您提供的工业自动化产品及使用手册。

经过多年,在产品品质、技术应用、服务支持等方面不断进取和踏实积累,奥佳电气成功推出的 RS485_IO模块、GSM Modem模块、工业数据通信网关RTU、机房环境监控报警主机等,已在自动化行业各领域中得到很好地应用。

经受了各种现场应用环境的考验,得到专家及广大用户的一致认可。

我们将不断地升级使用手册,为您陆续提供现场应用程序和文档。

当您遇到疑难问题时,可以随时与我们联系,我们将在第一时间及时响应,帮助您解决问题。

欲知更多详情,请关注微信官网关于手册:手册主要包含GSM Modem用户二次开发相关内容适用范围:本短信二次开发接口适用于奥佳电气工业GSM Modem,支持标准AT指令的GSM短信终端目录目录 (4)1.概述 (5)2.接口函数 (5)2.1.初始化 (5)2.1.1. 函数原型 (5)2.1.2. 功能描述 (5)2.1.3. 出错代码 (5)2.2.短信发送 (6)2.2.1. 函数原型 (6)2.2.2. 功能描述 (6)2.2.3. 出错代码 (6)2.3.短信接收 (6)2.3.1. 函数原型 (6)2.3.2. 功能描述 (7)2.3.3. 出错代码 (7)2.4.短信删除 (7)2.4.1. 函数原型 (7)2.4.2. 功能描述 (7)2.4.3. 出错代码 (8)2.5.模块关闭 (8)2.5.1. 函数原型 (8)2.5.2. 功能描述 (8)2.6.获取短中心号码 (8)2.6.1. 函数原型 (8)2.6.2. 功能描述 (8)2.7.设置短中心号码 (9)2.7.1. 函数原型 (9)2.7.2. 功能描述 (9)2.8.获取信号强度 (9)2.8.1. 函数原型 (9)2.8.2. 功能描述 (9)2.9.是否启用调试日志输出 (9)2.9.1. 函数原型 (9)2.9.2. 功能描述 (10)3.用户初始化 (10)4.用户编程入门 (11)1.概述GSM Modem是一种使用移动通讯系统的调制解调器。

浅谈VC++环境下MAPGIS二次开发的实现

浅谈VC++环境下MAPGIS二次开发的实现

浅谈VC++ 环境下MAPGIS 二次开发的实现发布时间:2012-08-03来源:互联网我要说几句 |∙»用户解决方案2013优秀论文合订本∙»NIDays2013行业应用资源包∙»机器人在智能机器系统中的作用∙»LabVIEW 2013评估版软件【摘要】目前,利用VC++基于MAPGIS平台已经研发出很多适合各领域的应用软件,包括神舟六号返回搜救系统。

本文简要介绍了目前MAPGIS二次开发的四种开发方式,并将详细介绍两种方式的VC++具体实现方法,以供开发者选用适当的二次开发方式开展应用开发工作。

【关键词】VC++;MAPGIS二次开发;API;MFC;COM;ActiveX0.引言MAPGIS 为支持用户进行二次开发,提供了包括从最基本数据单元的读取、保存、更新和维护到地图库的建立和漫游,以及空间分析、图象处理等一系列功能完整的二次开发函数库,用户完全可以在MAPGIS 平台上开发面向各自领域的应用系统。

神舟六号返回搜救系统———“载人航天任务主着落场搜救辅助决策系统”就是以MS-VisualC++ 5.0 为开发语言,利用Win32 API 函数和MAPGIS API 函数,基于MAPGIS 地理信息系统平台开发研制的。

1. MAPGIS二次开发方式成熟实用的地理信息系统的重要标志就是它能够提供给用户二次开发的能力。

目前,二次开发库以API 函数、MFC 类库、COM 组件、ActiveX 控件四种方式提供[1]。

1.1 API(Application Program Interface)即微软提供的Windows 操作系统下应用程序的编程语言接口。

MAPGIS 二次开发库的实现被封装于若干动态连接库(DL L)中,是独立于开发工具的。

1.2 MFC(Microsoft Foundation Class) 微软提供的基础类,MAPGIS为运用MFC 的开发者提供了多个基于MFC 的可重用基类(如图1),将应用程序所需的常见基本功能作了封装,开发者从这些基类下派生即自动获得了从窗口显示控制到图形查询编辑的各项功能,使用便利,改动灵活。

三种二次开发的方式

三种二次开发的方式

三种二次开发的方式
一,源代码
此时得到的是他人的源代码。

二次开发时,只需将源代码的.H和的的的的.cpp文件分别导入到当前项目即可。

二,静态库
此时得到的是XX.lib和XX.h文件使用的方式有两种:
第一种:将XX.lib和XX.h放到当前目录下,在新的项目动态调用#include “XX.h”
#pragma comment(lib,“XX.lib”)
第二种:在VC ++目录/包含目录中添加头文件的路径;
在VC ++目录/库目录中添加库目录的路径;
在链接器/输入/附加依赖项中填写库名字:XX.lib
三,动态链接库
此时得到的是XX.lib,XX.dll和XX.h文件使用的方式有两种:
第一种:将XX.lib和XX.h放到当前目录下,将XX.dll放在DEBUG下目录在新的项目动态调用
#include“XX.h”
#pragma comment(lib,“XX.lib”)
第二种:在VC ++目录/包含目录中添加头文件的路径;
在VC ++目录/库目录中添加库目录的路径;
在链接器/输入/附加依赖项中填写库名字:XX.lib;
将XX.dll放在DEBUG目录下。

VC++实现MSC.Patran二次开发的方法研究

VC++实现MSC.Patran二次开发的方法研究

VC++实现MSC.Patran二次开发的方法研究
周明刚;丁律辉;周敬东
【期刊名称】《机电工程技术》
【年(卷),期】2009(038)011
【摘要】分析了Patran的二次开发接口,研究了在VC++环境下实现Patran二次开发的三种方法,并详细给出了其实现过程,最后对三种方法进行了对比分析.
【总页数】3页(P66-68)
【作者】周明刚;丁律辉;周敬东
【作者单位】湖北工业大学机械工程学院,湖北武汉,430068;华中科技大学机械学院,湖北武汉,430074;湖北工业大学机械工程学院,湖北武汉,430068
【正文语种】中文
【中图分类】TP311.11
【相关文献】
1.浅谈VC++环境下MAPGIS二次开发的实现 [J], 么伟伟;邹悦临
2.用VC++对SolidWorks二次开发实现标准件建模 [J], 陶冶
3.用VC++实现图像采集卡的二次开发 [J], 马强;林克正;熊常芳
4.Surfer二次开发的VC++实现 [J], 王新;陈同俊;孟凡荣
5.基于MSC.Patran的螺栓模拟功能的二次开发与应用 [J], 姜子刚;刘世谦;张金梅;于硕;韩小坤;刘钊宾;邢首辰
因版权原因,仅展示原文概要,查看原文内容请购买。

实现Micaps二次开发的动态链接库技术初探

实现Micaps二次开发的动态链接库技术初探

实现Micaps二次开发的动态链接库技术初探
杨远恒;苏静文;郑奕
【期刊名称】《贵州气象》
【年(卷),期】2005(029)0z1
【摘要】鉴于micaps系统的特点和对micaps2.0进行二次开发的需求,简要介绍动态链接库技术以及在VC环境进行动态链接库开发的实现方法.
【总页数】2页(P54-55)
【作者】杨远恒;苏静文;郑奕
【作者单位】贵州省气象台,贵州,贵阳,550002;贵州省气象科技服务中心,贵州,贵阳,550002;贵州省气象科技服务中心,贵州,贵阳,550002
【正文语种】中文
【中图分类】TP393
【相关文献】
1.MICAPS3.0系统二次开发初探 [J], 孔照林;周福;郑沛群;张子涵;李文娟;孙长
2.实现Micaps二次开发的动态链接库技术初探 [J], 杨远恒;苏静文;郑奕
3.市级MICAPS系统本地化和二次开发初探 [J], 常富玉;张继赢
4.Micaps自动取图实现——基于Micaps的二次开发 [J], 赵晶
5.MICAPS二次开发初探 [J], 王素娥
因版权原因,仅展示原文概要,查看原文内容请购买。

在Visual Basic程序中调用Fortran动态链接库的方法

在Visual Basic程序中调用Fortran动态链接库的方法

在Visual Basic程序中调用Fortran动态链接库的方法鲜飞军;杨合
【期刊名称】《微型机与应用》
【年(卷),期】2000(019)005
【摘要】用于VB应用程序的Fortran动态链接库及在Visual Basic应用程序中调用Fortran动态链接库的方法,给出了具体的应用程序示例.
【总页数】3页(P14-16)
【作者】鲜飞军;杨合
【作者单位】西北工业大学材料科学与工程学院542信箱,710072;西北工业大学材料科学与工程学院542信箱,710072
【正文语种】中文
【中图分类】TP3
【相关文献】
1.用Visual Basic调用自定义Visual C++动态链接库的效率研究 [J], 龚红仿
2.如何在Visual Basic应用程序中调用动态链接库 [J], 王向阳
3.如何在Visual Basic中调用动态链接库实现ftp功能 [J], 王阳;王援;束玉
4.C++与Fortran混合语言编程中动态链接库的调用 [J], 何敏;吕崇德
5.如何在Visual Basic应用程序中调用动态链接库 [J], 王向阳
因版权原因,仅展示原文概要,查看原文内容请购买。

基于OLE自动化技术的SPSS二次开发原理及应用

基于OLE自动化技术的SPSS二次开发原理及应用

基于OLE自动化技术的SPSS二次开发原理及应用胡辉【摘要】随着计算机技术的迅速发展,建立在各种统计方法模型基础上的统计分析软件在实际中的应用成为可能.但如何灵活使用统计软件,深度挖掘软件功能去解决实际中的复杂问题,往往需要对软件进行二次开发.首先从软件开发原理的角度,以常见的统计分析软件SPSS为例,介绍了SPSS软件体系结构,并深入分析了其支持二次开发的原理:基于组件的OLE自动化技术,最后以Visual C++为例说明了如何在其他应用程序中使用SPSS提供的功能进行二次开发.【期刊名称】《华东交通大学学报》【年(卷),期】2008(025)003【总页数】5页(P64-68)【关键词】SPSS;二次开发;组件;对象链接与嵌入;自动化;Visual C + +【作者】胡辉【作者单位】华东交通大学,经济管理学院应用统计研究所,江西,南昌,330013【正文语种】中文【中图分类】TP312随着计算机技术的迅速发展,传统的很多统计方法在实际上的应用成为可能,各种建立在统计方法模型上的统计分析软件不断涌现.如国外的SAS,SPSS,STATISTICA等,国内如DPS数据处理系统,NOSA(非典型数据统计分析系统),马克威Markway统计分析与数据挖掘软件等.然而,由于实际工作中问题的复杂性,往往难以做到原始数据恰好符合软件中的统计模型和方法的适合条件(这需要对统计方法模型有正确的理解),或是在其他应用系统(如Excel甚至是一些决策支持系统)中希望利用统计软件得出的数据进行再加工(这需要对统计软件开发原理本身有深入的了解).因此,灵活使用统计软件、深度挖掘软件功能就变得必要,而建立在这些统计分析软件基础上的二次开发便是解决这些问题的主要手段.事实上,SAS,SPSS,STATISTICA这些具有国际影响力的统计分析软件在支持二次开发方面是非常强大的.如SAS本身就主要面向具有专业编程能力的统计人员;SPSS一方面依靠菜单、对话框的方式赢得了非统计专业人士的厚爱,另一方面它内置的语法Syntax、脚本Script、SaxBasic语言对于欲灵活使用它的人带来了很大的便利;STATISTICA中的STATISTICA Visual Basic语言也同样是如此.鉴于SPSS适用面的广泛性(既针对统计专业人员,又面向非统计专业人士),在此以SPSS为例探讨二次开发的技术原理及其应用.首先从软件构建角度分析SPSS软件体系结构,然后着重在技术开发原理上深入探讨软件支持二次开发的原理,最后以Visual C++为平台说明如何应用软件中的对象模型进行二次开发.基于对象、基于组件的软件体系目前是主流的软件架构,SPSS软件体系也莫能外.它本身就是建立在面向对象、组件的基础之上的,其中SPSS类库和对象是支撑SPSS整个软件体系的基础.1.1 SPSS类库类库是文件或文件中的组件,主要有两种类型(.tlb、.olb)的类库.扩展名为.tlb的类库可以作为单独的文件进行安装、扩展名为.olb的类库可以嵌入到对象库文件内部.SPSS提供了SPSS类库(spsswin.tlb)、SPSS转轴表类库(spssvt.tlb)、SPSS RTF类库(spssrtf.tlb)和SPSS图形编辑器OLD控制库(spssgctl.tlb).安装完SPSS软件以后,第一次运行它时SPSS类库会自动注册到Windows注册数据库中,以后若有其他应用程序使用SPSS类库中的对象便可以直接从中访问.1.2 SPSS对象对象是具有各种数据分析功能的独立实体,可以通过程序进行控制.SPSS提供了数十个对象,包括简单的文本对象、图例对象和比较复杂的转轴表对象、交互图对象等,其中实现SPSS基本功能的对象包括 Application对象、Options对象、Documents Collection对象、Data Document对象、Syntax Document对象、Draft Document对象、Chart对象、OutputItems Collection对象、Output Item对象和Map对象等.图1是SPSS中对象的树形结构,位于最顶端的是Application对象,它代表SPSS自身,所有其他对象都在Application对象之下.第二层包括4个对象:1)Option对象:利用该对象可以为输出浏览器、图表和数据等设置选项.2)Documents对象:提供数据编辑、语法文档窗口、输出浏览器和草稿文档窗口等4个窗口的属性和操作方法.3)SPSS Info对象:提供SPSS的一些必要信息.4)CS Application对象:提供与网络有关的对象操作.一个软件若需要在其基础上进行二次开发,与其他应用程序进行通信集成(如Office中的宏,脚本语言)或与其他语言有外部接口,则一般需具备OLE自动化功能.目前很多应用程序都具有OLE自动化功能,如Microsoft Office中的Word、Excel,Auto-CAD,MapBasic,SPSS等.OLE(Object Linking and Emgedding),意为对象链接与嵌入,是微软对象技术的名字,其本质是一种通信技术,允许一个应用程序访问另一个应用程序的内部结构.目前的OLE基础是组件技术,而非早期的DDE(Dynamic Data Exchange)动态数据交换.2.1 组件技术原理面向软件复用的组件技术实质是在二进制代码上实现软件的复用,它超越了结构化开发思想的函数复用和模块复用,也与面向对象思想的类的复用有本质不同.组件通过对一组类的组合进行封装,隐藏了具体的实现只用接口提供服务,从而在不同层次上,组件均可以将底层的多个逻辑组合成高层次上的粒度更大的新组件,甚至直接封装到一个系统,使模块的重用从代码级、对象级、架构级到系统级都可能实现.要理解应用组件技术,必须深入体会组件的思想:(1)组件是在二进制一级的,而传统的面向对象是源代码一级的.(2)接口是组件最为重要的特性之一,接口是一组函数,通过它与其他程序通信.(3)通过GUID(Globally Unique Identifier)全球惟一标识符来惟一标识组件类和接口.(4)组件对象能够自己控制生存期,能支持多个接口,管理运行时发现功能.(5)组件产生是通过组件服务器产生的,分进程内和进程外两种.进程内是DLL形式,进程外则是EXE形式.2.2 OLE自动化技术OLE自动化是通过组件对象模型实现的,但组件接口使用的是早绑定的机制,也就是说这对编译语言较适合,但由于解释型的程序语言在运行时需要迟绑定,这个机制就会失效,因此需引入自动化和一个新的接口IDispatch及其中两个重要的新函数Invoke、GetIDsOfNames,这是自动化技术的关键所在.1)IDispatch接口自动化需要迟绑定的机制,这个机制是通过IDispatch接口实现的.譬如一个组件对象实现了IDispatch接口,那么像 VB这样的程序就可以在Add()和Subtract()这两个函数进行迟绑定,如下图所示:从上图可以看出IDispatch也是一个COM接口,最上面放的是3个标准的IUnknown接口函数,后面则是IDispatch本身的函数.但是,Add和Subtract两个函数不是直接通过应用程序的虚函数表实现的,而是通过Invoke、GetIDsOfNames函数来管理参数传递机制和函数指针的问题.2)Invoke函数Invoke函数是实现自动化技术的关键,它比较复杂,有8个参数,函数形式为:Invoke(DISPID dispID,REFIID riid,LCID lcid,unsigned short wFlags,DISPPARAMS*pDispParams,VARIANT*pVarResult,EXCEPINFO * pExcepInfo,unsigned int* puArgErr).第一个参数是dispID,用来标识调用的自动化方法或属性.一般不必关心这个值到底是多少,只要得到这个变量,就能和系统进行通信.第二个参数是riid,指一个接口的引用.这个参数是保留的,永远都是IID-NULL. 第三个参数是lcid,表示解释参数所使用的当前上下文环境,一般支持多语言环境使用它.第四个参数是wFlags,标识调用的是函数还是属性.第五个参数是pDispParams,用来完成函数调用是迟绑定还是早绑定.第六个参数是pVarResult,存放函数结果也就是返回值.最后两个参数用于处理错误情况及错误代码.3)GetIdDsOfNames函数Invoke只有通过dispID才能知道需要访问哪个属性或方法.在一些解释性语言如VB中是使用名字来得到dispID的,IDispatch接口正是用一个这样的函数GetIDsOfNames把相关属性或方法和一组参数的名字映射为一组DISPID,从而通过名字转化为dispID.SPSS软件的二次开发一方面是利用内置的SaxBasic和Syntax命令进行编程(在此不作介绍),另一方面则是如何与其他开发环境集成在一起,利用它提供的功能为别的应用系统服务.在此,主要以Visual C++6.0为例说明如何在VC环境中使用SPSS提供的描述统计功能:计算均值和标准差,基本思路是首先导入可能要用到的库文件,得到相应的SPSS对象;然后调用SPSS的函数功能,得到分析结果;最后从分析结果中取出所需要的数值,返回给主程序.3.1 导入SPSS类库:spsswin.tlb、spssppvt.tlb本程序只是计算均值和标准差,所以除基本类库spsswin.tlb外还需要转轴表类库spsspvt.tlb,此类库中包含了与转轴表有关的对象.SPSS中的描述统计分析结果就是一个转轴表对象,利用这个对象下的Data Cells就可以获取表中元素的值.在VC中导入类库操作很简单:在VC开发环境中建立一个新的工程,打开菜单View—>ClassWizard,选择spsswin.tlb、spsspvt.tlb,则会在现有的工程中添加 4个新的文件:spsswin.h、spsswin.cpp、spsspvt.h、spsspvt.cpp,同时看到新生成了不少SPSS的对象,如图3所示.可以看到这些SPSS对象的基类都是具有OLE功能的类 COleDispatchDriver,而实际上 COleDispatchDriver本身就具有IDispatch接口的功能.3.2 调用SPSS对象的功能为说明如何调用SPSS对象的功能,以SPSS中的描述统计为例,建立一个简单的对话框,如图4所示.对话框分两部分:一部分是数据输入,通过“打开数据文件”的按钮把数据文件中的数据输入到List控件中;另一部分是数据输出,通过“SPSS描述统计”按钮实现结果输出到均值、标准差的Edit控件中.在“SPSS描述统计”按钮中实现结果输出的主要代码如下:theOutDoc=theDocs.GetOutputDoc(0);//获取SPSS输出结果ISpssItems theItems;theItems=theOutDoc.GetItems();//获取输出结果中的条目ISpssItem theItem;ISpssPivotTable thePivot;int out=theItems.GetCount();theItem=theItems.GetItem(out-1);//获取输出结果中的描述统计分析表thePivot=theItem.ActivateTable();ISpssDataCells theData;//获取描述分析表中的数据单元theData=thePivot.DataCellArray();double f1,f2;-variant-t t;t=theData.GetValueAt(0,1);//获取数据单元中的“均值”f1=(double)t;m-Average=f1;//获取的“均值”赋给对话框中的均值Edit控件相联的变量t=theData.GetValueAt(0,2);//获取数据单元中的“标准差”f2=(double)t;m-Deviation=f2;//获取的“标准差”赋给对话框中的标准差Edit控件相联的变量UpdateData(false);//获取后的数据返回到原对话框中3.3 输出实现结果依照上述思路,经过编译运行,程序执行结果如图5.其中,数据输入是“打开数据文件”后列表框中“客流”的数据,总共有280个;数据输出中,均值为7910.632,标准差为12652.048,完全与SPSS实际输出结果一致,从而实现了利用SPSS功能完成有关统计分析的计算.作为一个优秀的统计分析软件,SPSS在各个领域得到了广泛的应用.但如何更好地利用它去解决实际问题尤其是复杂的问题可能需要在其基础上进行二次开发.这意味着对应用者提出了更高的要求,因为一方面需要了解软件技术的开发原理,另一方面也需要对统计方法模型和实际问题有深刻的认识.从实现的方法角度看,文中介绍的开发思路和示例主要是起借鉴启示的作用,如若真正要在实际中开发一些具体的应用,可能需要做更多的工作.譬如,不同的应用开发环境(如Excel、Visual Basic等)如何操作使用SPSS对象;另外如何获得更为复杂的统计模型方法(如多元回归分析、判别分析、因子分析等,而不像示例中的简单描述统计)的计算结果.【相关文献】[1]苏金明.统计软件SPSS12.0 for Windows应用及开发指南[M].北京:电子工业出版社,2004.[2]George Shepherd,Scot Wingo.深入解析MFC[M].赵剑云,译.北京:中国电力出版社,2003.[3]金雪云.Visual C++教程[M].北京:清华大学出版社,2005.。

两套层系互换进行二次开发的研究与试验的开题报告

两套层系互换进行二次开发的研究与试验的开题报告

两套层系互换进行二次开发的研究与试验的开题报告一、研究背景和问题:随着信息技术的不断发展和普及,各种软件系统在不断地演进和扩展。

但是在这个过程中,我们常常需要进行二次开发,将原有的软件系统进行定制化、特化、个性化的开发,使得其更适合用户的需求和使用习惯。

然而,原有系统的层次结构常常与我们的需求不完全相符,因此需要对其进行修改和调整。

这就需要我们进行系统的层次结构变更,即:将原有的层次结构进行互换或重组,以达到更好的系统结构和功能。

其中,层次结构的互换是经常用到的一种方式,即将原有系统的层次结构中的一些层次互换位置,以达到更好的结构和功能。

具体来说,我们需要进行以下几个方面的研究和试验:1. 如何确定哪些层次需要进行互换,以达到更好的系统结构和功能?2. 如何进行层次互换,以保证系统的正确性、完整性和稳定性?3. 如何进行二次开发,以使得系统更好地满足用户需求?二、研究内容和方法:为了解决上述问题,我们将进行以下研究内容和方法:1. 系统分析与设计:通过对原有系统的系统分析和设计,确定需要进行层次互换的层次和方式;2. 层次结构变更:根据前期的系统设计,进行层次互换,并对系统进行测试和验证,以保证系统的正确性、完整性和稳定性;3. 二次开发:根据用户需求和系统特点,进行二次开发,以达到更好的系统功能和用户体验。

其中,方法包括系统设计、层次互换的实现和测试、二次开发的实现和测试等。

三、预期成果和应用价值:通过本研究和试验,我们预期实现以下成果:1. 确定系统的层次互换方案,使得系统具有更好的结构和功能;2. 实现层次互换,保证系统的正确性、完整性和稳定性;3. 实现二次开发,优化系统的功能和用户体验。

这些成果将对以下方面具有应用价值:1. 提高软件系统的性能和稳定性,提升用户体验;2. 增加软件系统二次开发的便利性和效率;3. 为软件系统的进一步发展提供基础和支持。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FAMOS是德国IMC公司早在1988年就推出的以 MS Windows为操作系统的数据信号分析软件。
FAMOS提供了包括FFT、积分、微分、曲线图、直方 图、相位互相关、数字运算等复杂的实时分析功能。用户可 定义的实时测量功能可在线进行测量公式编辑。测量、分析 等工作能在不同的窗口中与波形同时显示并随波形变化 而更新。它可读取多家公司的文件格式,如:SONY、TEAC、 YOKOGAWA?NEC?HIOKIjBOSCH?Tektronix?OROS?HP? Nicolet等,也可通过文件助理(File Assistant)读取其他 文件格式。其内部的数据转换快速而方便,使用时可将采 集到的数据转换为Microsoft Office格式,如Word、Excel 或其他流行的数据处理软件格式,以供进一步的分析和 编写测试报告。测试者在测试现场即可作出最准确的判断 和完美的测试报告。
//函数返回存放生成波形的内存块对应的旬柄值
extern”掣一declspec(dllelport)HANDLE RetSine(float a,
int n1

DLL—WAVE far}hpCurve;
HANDLE
hCurve;
double
PI=3.14159,dx=0.001,NoOfPoints=2¥P1,
Project”新建一个工程DLLTEST,包含2个输出函数。
//DI,I,TES一1.cpp
//波形乘2函数 extern”c”一一decl叩。c(dllelport)void Mult2(DLL—WAVE
FAR{P11
//函数的输出有2种方法:①可采用包含导出函数表的对应 //模块定义文件+def,即通过赋一个数值(序号)给链接程序
int、uint?long ulongj charjuchar?float?double、text?dsf?
void共1 3种。其中text是指长度255字节的文字信息, dsf足指具有DLL—WAVE形式的数据结构体。 3.2动态链接库的编制
DLL的种类很多,凡是导出函数符合FAMOS审数导 人原则的动态链接库,就町以在FAMOS中正常使用,这 其中包含WIN32 DLL及MFC DLL。用户可在DLL中添 加对话框等MFC类库资源并进行多个函数的输出, FAMOS对导人函数的个数没有限制。
fx,length;
long char
Ix; 7text[255];
le“gth=gizeof‘D1.L—WhVE)+(int)(n·NoOfPoints/dx)+
~8一
sizeof(float); hcurve=clobalAlloc(GHND,(10ng)length); //分配空问 if(hCurve) {sprin叫Text,”返回正弦波幅值为:%g、11周期为:2PI”,a);
FAMOS自身的模块加载定义文件},def的定义格式
如下:
DLL32”DLLName,FctName FamosName, ReAccess ReType——DLL.ReType.—FAMOS ReNumber elements,
Parl一Access Parl一Type—DLL.ParlJype
FAMOS Parl——Number_elements,
FAMOS包含二类函数调用约定,即c和Pascal。这二 者的区别是:c约定规定参数传递顺序是从右到左,即最 右边的参数最先压栈,由调用者恢复堆栈指针;而Pascal 约定正好相反,它规定参数是从左向右传递,由被调用者 恢复堆栈。通常情况下,32位DLL函数的导入使用C调 用约定,而16位DLL函数的导人则使用Pascal约定。 2.2开发过程
使用中需注意: (1)某些参数在定义时可省略表示,但空格不能省去。 (2)DLL外部传送的指针必须是远指针FAR。 根据各个参数的具体含义.该动态链接库的FAMOS 模块定义文件famos.def为:
MessageBox(O,Text,”DLL function:FatCos”,MB—OK); hpCurve=(DLL_WAVE FAR+)GlobalLock(hCurve);
//锁定内存块 lstr。py(hpcurve一>xUnit,”s”);
lstr。Py(hpcⅢe一>yUnit,”v”);
(1)根据需要编制动态链接库;(2)编制FAMOS特定 加载方式对应的模块定义文件;(3)在FAMOS中加载 DLL;(4)在FAMOS函数分类窗口中添加对应函数组和 函数按钮。 3实例说明
编写动态链接库的工具很多,如Visual c++、Bor— land C++、Delphi等,对于具体方法可以参见相关文档。 下面仅以Visual c++6.0为例,介绍开发应用于FAMOS 的32位动态链接库时应注意的问题。 3.1 FAMOS的函数导入原则
//来导出函数;②采用MFC提供的修饰符号一declspec(dll一
//export) {long i;
for(i=O;i<PI->Samples;i++) PI一’y【i】十=2;
MessageBox(O,”数据己进行了乘2运算”,。DLL function: Muh2”.MB—OK);
//产生正弦波形函数(参数a为波形幅值,n为周期个数)
FAMOS的应用窗口界面中包含几个部分:菜单项、工 具条、变量列表窗口(Variables)、函数分类窗口(Functions)、 操作窗口(Operation)、公式解说器输出窗口(Output),同时 它还包含了报告生成器、结果编辑器等配套组件。 2 FAnOS二次开发技术介绍
FAMOS包含了二次开发接口,即它可利用用户编制 的动态链接库或IMC公司提供的信号分析套件来扩充自
在编制DLL之前,首先应了解FAMOS函数导入原则。
—— '——
万方数据
(1)使用EAMOS的波形数据存储定义。在果,必须使用
FAMOS的波形数据结构体DLI.一WAVE。 (2)函数参数和返回值的数据类型必须符台FAMOS
导人函数的数据类型要求,其数据类型包括short、ushort、
Direct:直接方式,…1’(默认,可省略表示);(2)Pointer:指
针方式,“}”f一般用于对现有波形的操作);(3)Handle:句 柄方式,“+”(一般用于函数产生波形的返回)。
Type—DLL包含了13种数据类型.其中包括FAMOS 自身定义的数据类型dsf和text。dsf类型是指其数据方式 为结构体DLLWAVE。对应数据访问方法一般为pointer 或handle。text类型是指长度255字节的文字信息,它必 须通过远指针FAR进行访问,即数据访问方法为pointer。
short Flags; Samples; Time: y[1】;
//未定义 //采样次数,)=2L //触发时间.默认为0 //采样阵列的开始点
l DLL—WAVE;
#pragma pack() 步骤3:编译生成加载于FAMOS中的DLLTEST.dll
文件。 3.3编制FAMOS加载方式对应的模块定义文件
下面以具有简单输出函数的DLL为例说明添加函数 的基本方法。虽然在实际应用中添加函数的方法更复杂且 更有意义,但其方法和动态链接库中添加函数的基本方法 足一样的。
功能要求:完成返回一个正弦波形,其周期为2P1、波 形长度和幅值可定并且可对波形进行乘2运算这二种函 数功能DLL的编制。
步骤1:利用VC6.0中的32位DLL“a simple DLL
typedef struct

char
char
xUnit[13l; yUnit[13】-
/Ix轴单位 //y轴单位
char float float
Name【12];
//波形名称
dX;
//x轴增量.测量间隔>0.0
XO;//x轴偏移量,即第一次采样x的坐标
unsigned long
long float
《傲参2机与应用)200S年第1 1期
已的函数库。本文只介绍利用动态链接库对FAMOS进行 二次开发的方法。 2.1 FAMOS=次开发接口介绍
(1)动态链接库的连接方式。应用程序采用隐式链接 和显式链接方式使用DLL。FAMOS对于DLL连接采用显 式链接。FAMOS菜单项中“Options/DLL Functions……” 功能就是对FAMOS模块定义文件进行操作,完成对应 DLL的加载或释放。
hpcurve一’y【lx】_(noat)(a·sin(fx)); GlobalunIock(hCurve);//解锁内存块J
return hCurve; l
步骤2:定义波形数据结构体。
//DLLTEST.h
#pragma pack(1) //定义结构DLL—WAVE,其中包含了测量的数值和其他一 //些附加信息
(2)动态链接库导出函数的调用方式。Windows动态 链接库是包含数据和函数的模块,可以被其他可执行文 件(EXE、DLL、OCX等)调用。动态链接库包含2种函数: 输出(Exported)函数和内部(Internal)函数。输出函数可以 被其他模块调用,而内部函数则只能在动态链接库内部 使用。信号分析软件FAMOS具备标准的DLL接口,允许 导人任何由Windows动态链接库导出的函数。
bpCurve一>Name[O】=0; hpCurve一>dX=(float)dx; hpCurve一>X0=0: hpCurve一>F1898=0; hpCurve一>samples=(10“g)(n+NoOfPoints/dx); hpCurve一>Time=0; for(Ix=0,fx=0;fx<(n十NoOfPoints);lx++,fx+=dx)
基于动态链接库的FAMOS二次开发方法研究
西安工业学院计算机科学与工程系(71 003 2) 于志华 雷志勇
摘要:FAMOS软件是为测试技术的特殊要求而定制的一套信号分析软件。本文重点介绍了 在FAMOS二次开发中使用动态链接库的实现方法。
相关文档
最新文档