|
ObjetArx2004+VS20025 ^9 U2 C! K5 ]( X) R) h$ u. H$ I/ p
前提:安装好以上两种软件
6 R: R* ?8 a" y3 u创建步骤:
. c+ [. e/ Y* x! o$ H" u! Z6 d1. 新建项目
" ? L- a& b; p5 j( j2 M. IVisual C++项目->选择ObjectARX/DBX/OMF->键入"Demo"项目名称$ e- \* d) z Z# R& R* Q
MFC Support中勾选Enxtension Dll->using MFC Shared DLL,其他取默认值, P, T" F% C( D
2. 删除文件
. {, ^! v N8 u# w S' D0 o在“解决方案资源管理器”中删除向导生成的acrxEntryPoint.cpp,DocData.cpp,DocData.h文件9 `9 s. M/ H z0 b0 ^
同时可以在文件夹下彻底删除文件,后续步骤并不需要用到这3个文件。 如果删除的话,注意需要修改StdAfx.h文件代码,在此文件最末尾:
, e/ d4 X# E" T* [; v7 Q) g#include "DocData.h" //----- Your document specific data. v) B- g- d7 F; p6 ~2 J* ]3 g
extern AcApDataManager DocVars ;5 _0 X% l$ R3 u! L0 x1 j; E
注释掉上面两行代码。4 G& N& ]8 B* o' D
3. 添加Demo.h文件* H7 S; w& T' _8 M6 e' n8 z5 B. W
同时在Demo.h文件中加入代码1 Z% K$ T' x8 Q# I6 D! u1 J) Q
#pragma once
: j- A# r [8 e# u0 y) Q9 c5 y* x#include"resource.h", e. s( o1 h: {7 m! o+ j
3. 创建一个普通对话框,基于CDialog类,并生成类CDlgDemo; ^0 z3 x; w+ f* S u" c
4. 打开Demo.cpp文件,对这个文件要进行比较多的操作
/ j" }5 y# a: E' j# ~. \注释掉"AFX_EXTENSION_MODULE DemoExtDLL ={ NULL, NULL };"这一句5 [2 j+ `% ?4 H4 H; c
·添加#include "DlgDemo.h"头文件4 x+ `; }8 w( k2 ^# _% ]0 a: A+ M' Y
·添加函数DlgDemo(),具体见附件源文件代码" W" e5 c, {; }- r% K7 i
·添加initApp(),unloadApp()( r, U3 z" ?, K
注释掉DllMain中的"_hdllInstance =hInstance ;3 O1 j$ Z" V; ]3 f" O7 X2 @1 G! v
·在文件的末尾添加acrxEntryPoint()/ B- h1 v2 q$ f" U, x6 Q& `) I; j& Q
这里需要提醒一下的是关于AC_IMPLEMENT_EXTENSION_MODULE(DemoDLL)的使用
4 k6 Y! _3 k7 J5 w涉及到了Dll资源的使用,所以DemoDLL在这里相当于一个连接AutoCAD和MFC的纽带,
/ ?" a- V9 p: z+ Z `9 V保持整个Demo.cpp中,DemoDLL的一致" T;
+ y- @# Q% b6 |5. 项目设置
4 P" z7 D8 ?" j2 l# G- b& E菜单"工具"->"选项"->"项目"->"包含文件"->添加ObjectARX2004的inc目录
5 E1 W* H+ I( }0 Q' j3 P->"库文件"->添加ObjectARX2004的lib目录7 r v+ m% a. x
6. 生成解决方案0 g3 b) q# m, A2 g0 c) O- Y1 H& j4 c
一切pass,有2个警告rxapi.lib(libinit.obj) : warning LNK4099: 未发现 PDB“msvc.pdb
7 |% T2 H, w5 i) ~" k7 iacedapi.lib(acedstub.obj) : warning LNK4099: 未发现 PDB“corehdr.pdb
+ m! v) \( g) T$ Y" Z不用去管它,ObjectARX开发文档已经说明了这个问题的存在,不影响使用) * j; q) @3 H0 |
' S* i3 F: f; q3 j0 _ `
至此为止,我们已经生成了MarkDemo.arx,在Debug目录下可以找到,下面将继续介绍如何在1 T' q( ~+ m9 E M9 J- \7 R
AutoCAD2004菜单中自动加载Demo对话框 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|