arx环境配置及数据库设计_第1页
arx环境配置及数据库设计_第2页
arx环境配置及数据库设计_第3页
arx环境配置及数据库设计_第4页
arx环境配置及数据库设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅析面向ObjectARX二次开发技术的环境配置摘要:本文探讨了利用ObjectARX2008和VS2005对AutoCAD2008进行二次开发时开发环境的配置问题。重点讨论了ObjectARX与MFC相结合实现友好程序界面以及实现数据库开发存在的问题,并给出了可行的解决方案。关键字:ARX开发环境MFCODBC数据源Abstrac:ThistextprobeintoutilizeObjectARX2008andVS2005,carryonsecondarydevelopmenttoAutoCAD2008,dispositionissueofthedevelopmentenvironment.DiscussObjectARXrealizefriendlyprocedureinterfaceandrealizetheexistingproblemofdatabasedevelopmentinconjunctionwithMFCespecially,providethefeasiblesolution.KeyWOrds:ARX;developmentenvironment;MFC;ODBCdatasource1引言在众多开发AutoCAD的工具中,ObjectARX功能强大,适合开发大型软件。但它也有个显著的缺点,AutoCAD的每个版本都要相对应的ObjectARX版本才能开发。随着AutoCAD新版本的出现,开发ObjectARX程序的编译环境从VC6.0升级到VS2005或以上版本。编译环境的改变也使二次开发时某些功能的运用发生变化。ObjectARX2008在VS2005中对AutoCAD进行二次开发的相关资料非常有限,环境的配置和VC6.0又有很大区别,所以本文整理出其相关配置要点。在VS2005中,MFC类的对话框类对数据库的引用是一个空白技术点。很少有资料记载这方面相关信息。通过和导师共同研究,最终找到了解决办法。2MFC类开发环境对AutoCAD2008使用ObjectARX2008作参数化设计程序开发时,可使用MFC类中的对话框类开发出参数输入界面。要使用MFC类,必须在VS2005中配置相应的支持环境。2.1ObjcetARX2008开发向导使用ObjectARX2008开发时,建立新项目有两种方法:一是在VS2005中手动建立相应的动态数据库程序(DDL)项目;二是利用ObjectARX2008开发向导建立ARX程序项目;本文介绍第二种方法。使用第二种方法需要安装ObjectARX2008开发向导,并在VS2005中出现开发向导工具条。打开ARX2008文件夹找到utils文件夹,在其中找到ObjARXWiz文件夹并打开,显

示出ARX2008向导的安装程序,在安装该程序之前必须先安装VS2005和AutoCAD2008,否则ARX2008开发向导无法安装。向导安装完成后,打开VS2005软件,工具栏中出现如图2.1所示工具条。a>S@3艾吟毋仃亍解决方案资源管理嚣 -Pxffl]图2.1工具条2.2建立新项目ATLCLR常规MFC智能设备Win32ObiectABXATLCLR常规MFC智能设备Win32ObiectABX^ObjectAM/DBX/OMFProject我的模扳搜索联机模板...+其他语言+其他项目类型图2.2新建项目出现ObjectARX环境向导对话框,其中包含多个功能选项。要特别注意支持MFC类选项的选取,其他项则可使用默认值。rttsyuidrullubiriyRirLidrtsuull©ExtensionDLLusingMFCSharedDLL(recommendedforMFC0AutoCADMFCExtensionSupport图2.3MFC类选项点[完成]按扭,新项目建成。此时在VS2005中就有相应的项目解决方案。2.3项目属性设置项目属性设置是环境设置的难点。选中解决方案单击右键,选择属性,进入属性设置栏。属性设置中需要设置两大类:C++项设置常规中的附加包含目录,即ARX文件夹中INC文件夹的位置。设置示例如图2.4所示。链接器设置两个选项:常规中的附加目录库,内容为ARX文件夹中LIB文件夹的位置;输入选项中的附加依赖项,设置的内容为:

atls.libacdb17.libacge17.libacad.libacedapi.libodbc32.lib”,经过多次实验证明,设置内容不能更改,否则编译不能通过。):活动(Debug)V平台口:活动(Win32)[配置管理器用屈性置屈性常规调试C/C++常规忧化):活动(Debug)V平台口:活动(Win32)[配置管理器用屈性置屈性常规调试C/C++常规忧化预处理器•代码生成1..预晶译头输出文件浏览信息幽加包含目录解析#using引用调试信息格式取消显示启动版权标志警告等级E:\autocABI\inc用于并鲤续”的程序数据库C/ZD检测64位可移植性问题将警告视为错误是(/nologo)1®(/H)否否便用UNICODE响应支件图2.4属性设置通过以上步骤,支持MFC类的ARX项目建立成功。3数据库环境配置本文所涉及的数据库由Access2003软件建立。3.1建立数据源建立机器数据源之前应建立完整的数据库。且数据库中必须至少包含一个完整的数据表。建立机器数据源的步骤:打开控制面板,找出“管理工具”项。选择“数据源(ODBC)"选项,出现机器数据源建立的对话框窗口。点击[添加]按扭,出现如图3.1所示对话框。DriverDriverDriverDriverDriverDriverDriverDriverDriverDriverDriverdaMicrosoftdoMicrosoftduMicrosoftduMicrosoftduMicrosoftp:=lta:=Lfquivo5texto(*Access(*.mdb)dBase(*.dbf)Excel(*.xls)Paradox(*.db)p:=LfaoMicrosoftViwualFoxFroMicrosoftAccessDriver(*.mdb)Microsc«ftAccess"Treiber .mdbjMicrosoftdBaseDriver dh£)lud*n..- r图3.1类型选择MicroseftAccessDriver后点完成,出现图3.2所示的对话框。输入数据源名。点击[选择]按钮,确定数据库位置。设置完成后,对应数据库的机器数据源建成。在后续工作中可直接运用。3.2添加记录集类

使用MFC类开发环境建立方法,建立项目解决方案,并在其中添加MFCODBC使用者类。把相应数据库通过类的方式添加到解决方案中。具体步骤如下:打开建好的项目,单击右键,在出现的对话框中选择添加类。选取MFCODBC项。在出现的对话框中点选“数据源”出现如图3.3对话框。文件数冤源机器数亳源数冤源名称类型1;螂dBASEFiles用户ExcelFiles用户shuju用户XtremeS:=jTipleDataba...系统图3.3选择数据源选取建好的用户数据源。点击[确定],出现登陆名称对话框,输入“用户名”确定,出现已建好的数据表。选取需要的数据表,示例中表名为“LP”,完成后如图3.4所示。图3.4图3.4记录集动态集氐]1+.DDm、通过上面步骤在原有项目中就添加如图所示的文件。3.3添加MFC中的对话框类MFC类中的对话框类用来接受数据库数据。在原有项目中添加MFC类,出现对话框。在对话框中为要添加的类命名,选取基类“Cdilog”。确定后在原有项目中出现添加的对话框相应的“.h”、".cpp”文件。在对话框主体窗口中添加“Ccombobox”数据框。如图3.5所示。“Ccombobox”框中必须添加两个变量:第一个变量类型为Ccombobox,此变量将用来接受数据库表中的相应列的数据,最终形成下拉式数据框。第二个变量为Cstring类型,外界函数将通过这个变量来读取对话框中当前选中的数据。变量设置成功后在“.h”、“.cpp”文件中能看到其相应的定义。3.4添加函数实现数据传输以上所述只能建立基本框架,要实现数据显视必须定义相关函数。文中将会出现示例代码。在建好项目的类视图中找到对话框类,在".cpp”文件中添加两个函数。第一个用来完成数据的传送,第二个函数为BOOL型用来初始化“Ccombobox”。此处尽量用向导添加函数。如需手动添加,必须在“.h”文件中申明函数名。传送数据函数程序如下:voidCmfcDlg::iniDl(void)(CDatabase*myDB=newCDatabase(); 数据源指针变量myDB。if(!myDB->IsOpen()) 判断记录集是否打开。(myDB->OpenEx(L"DSN=机器数据源名;DBQ=^据库表的位置;DriverId=25;FIL=MSAccess;MaxBufferSize=2048;PageTimeout=5;UID=用户名;”,CDatabase::noOdbcDialog; 不显视记录集界面。}上句代码在记录集定义类的".cpp”文件中能找到,功能是打开记录集。记录集类*myTab=new记录集类(myDB);定义记录集指针。myTab->Open(AFX_DB_USE_DEFAULT_TYPE,L"selectMfrom[lp]");打开记录集中名为M的字段。CStringstrNo;定义Cstring类型变量strNOwhile(!myTab->IsEOF()) 循环读取记录集中数据,直到结束。(myTab->GetFieldValue(L"M",strNo);取出字段M中的值放入Csrting变量strNo中。strNo.TrimRight();控件变量.AddString(strNo); 此变量是Ccombobox类型myTab->MoveNext();myTab->Close();deletemyTab;myDB->Close();deletemyDB; 释放内存中打开的各种数据。}上述步骤完成后,通过引用变量(Ccombobox中定的义Cstring类型的变量)引用Ccombobox的数据。引用出来的所有数据都将是Cstring类型。如需使用其它类型数据,则应进行相应类型转换。4结束本文讲述了用ObjectARX2008对AutoCAD2008进行二次开发时MFC类环境的建立过程。并介绍了在ObjectA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论