- UID
- 6238
- 积分
- 291
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-6-9
- 最后登录
- 1970-1-1
|
发表于 2006-3-21 11:13:59
|
显示全部楼层
以下是一头文件,可以参考:
编译2004arx时 /D "ACAD2004"
编译2002arx时 /D "ACAD2002"
也可以编译R14之ARX
但应注意在编译环境中指定头文件和库文件路径,这一点因两中程序分别用VC6和VC7,在不同环境中指定,互不干绕
代码中两种版本存在差异的地方如下处理:
#if ACAD2000
CAcModuleResourceOverride resOverride;
#elif ACAD2004
CAcModuleResourceOverride resOverride;
#else
CTemporaryResourceOverride thisResource;
#endif
//STDAFX.H
#if defined( _DEBUG) && !defined(DEBUG_AUTOCAD)
#pragma message("Building debug version of modal.arx to be used with non-debug/Prod AutoCAD")
#define _DEBUG_WAS_DEFINED
#undef _DEBUG
#endif
#include <afxwin.h>
#include <afxcmn.h> // MFC support for Windows 95 Common Controls
#include <afxdb.h>
#include <math.h>
#include "resource.h"
#include "rxmfcapi.h" // ObjectARX MFC support
//#include "resourcehelper.h"
#ifdef _DEBUG_WAS_DEFINED
#define _DEBUG
#undef _DEBUG_WAS_DEFINED
#endif
#if ACAD2002
extern HINSTANCE _hdllInstance ;
//#include "migrtion.h"//R14 to R15
#include "acdb.h" // acdb definitions
#include "rxregsvc.h" // ARX linker
#include "dbapserv.h" // Host application services
#include "aced.h" // aced stuff
#include "adslib.h" // RXADS definitions
#include "acdocman.h" // MDI document manager
#include "rxmfcapi.h" // ObjectARX MFC support
#include "adui.h"
#include "acui.h"
#include "rxmfcapi.h" // ObjectARX MFC support
#include "AcExtensionModule.h" // Utility class for extension dlls
#define acdbCurDwg acdbHostApplicationServices()->workingDatabase
//#define acdbSetCurrentView acedSetCurrentView
class CAcModuleResourceOverride;
#pragma comment(lib, "rxapi.lib")
#pragma comment(lib, "acrx15.lib")
#pragma comment(lib, "acdb15.lib")
#pragma comment(lib, "acutil15.lib")
#pragma comment(lib, "acge15.lib")
#pragma comment(lib, "acgiapi.lib")
#pragma comment(lib, "achapi15.lib")
#pragma comment(lib, "acISMobj15.lib")
#pragma comment(lib, "acad.lib")
#pragma comment(lib, "acedapi.lib")
#pragma comment(lib, "acsiobj.lib")
#pragma comment(lib, "adui15.lib")
#pragma comment(lib, "acui15.lib")
#elif ACAD2004
extern HINSTANCE _hdllInstance ;
#include "acdb.h" // acdb definitions
#include "rxregsvc.h" // ARX linker
#include "dbapserv.h" // Host application services
#include "aced.h" // aced stuff
#include "adslib.h" // RXADS definitions
#include "acdocman.h" // MDI document manager
#include "rxmfcapi.h" // ObjectARX MFC support
#include "adui.h"
#include "acui.h"
#include "rxmfcapi.h" // ObjectARX MFC support
#include "AcExtensionModule.h" // Utility class for extension dlls
#define acdbCurDwg acdbHostApplicationServices()->workingDatabase
#define acdbSetCurrentView acedSetCurrentView
class CAcModuleResourceOverride;
#pragma comment(lib, "rxapi.lib")
#pragma comment(lib, "acdb16.lib")
#pragma comment(lib, "acge16.lib")
#pragma comment(lib, "acgiapi.lib")
#pragma comment(lib, "achapi16.lib")
#pragma comment(lib, "acISMobj16.lib")
#pragma comment(lib, "acad.lib")
#pragma comment(lib, "acedapi.lib")
#pragma comment(lib, "adui16.lib")
#pragma comment(lib, "acui16.lib")
#else
extern HINSTANCE _hdllInstance ;
#include "RESOURCEHELPER.H"
#pragma comment(lib, "acedapi.lib")
#pragma comment(lib, "rxapi.lib")
#pragma comment(lib, "acad.lib")
#pragma comment(lib, "acgiapi.lib")
#pragma comment(lib, "libacge.lib")
#pragma comment(linker, "/base:0x1c000000")
#pragma comment(linker, "/entry:DllEntryPoint@12")
#endif |
|