vs2010 vc++开发引用 ArcEngine9.3 组件和AO对象实例化方法
来源:互联网 发布:windows2008开启端口 编辑:程序博客网 时间:2024/05/22 07:02
vs2010 vc++开发引用 ArcEngine9.3 组件和AO对象实例化方法
//stdafx.h文件最下面添加如下代码
//添加ArcEngine dll引用
#pragma warning(push)
#pragma warning(disable : 4192) /* Ignore warnings for types that are duplicated in win32 header files */
#pragma warning(disable : 4146) /* Ignore warnings for use of minus on unsigned types */
#import "D:/Program Files/ArcGIS/com/esriSystem.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids, exclude("OLE_COLOR", "OLE_HANDLE", "VARTYPE")
#import "D:/Program Files/ArcGIS/com/esriSystemUI.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids,exclude("OLE_COLOR","ICommand","IProgressDialog")
#import "D:/Program Files/ArcGIS/com/esriGeometry.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids,exclude("OLE_COLOR")
#import "D:/Program Files/ArcGIS/com/esriDisplay.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids,exclude("OLE_COLOR")
#import "D:/Program Files/ArcGIS/com/esriOutput.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids,exclude("OLE_COLOR")
#import "D:/Program Files/ArcGIS/com/esriGeoDatabase.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids,exclude("OLE_COLOR","IRow","ICursor")
#import "D:/Program Files/ArcGIS/com/esriCarto.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids,exclude("OLE_COLOR","ITableDefinition","UINT_PTR")
// additionally for 3D controls
#import "D:/Program Files/ArcGIS/com/esri3DAnalyst.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "D:/Program Files/ArcGIS/com/esriGlobeCore.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "D:/Program Files/ArcGIS/bin/SceneControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "D:/Program Files/ArcGIS/bin/GlobeControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#pragma warning(pop)
//MainFrm.cpp 文件中
//int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)方法中添加如下代码
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWndEx::OnCreate(lpCreateStruct) == -1)
return -1;
//=AO对象实例化
//-------------------------------------
IAoInitializePtr m_AoInit(CLSID_AoInitialize);// new AoInitializeClass();
esriLicenseStatus ls;
m_AoInit->Initialize(esriLicenseProductCode::esriLicenseProductCodeArcServer,&ls);
CString path=L"";
IPropertySetPtr ipPropertySet(CLSID_PropertySet);
ipPropertySet->SetProperty(CComBSTR(L"DATABASE"),CComVariant(path));
//
//CComPtr<IWorkspaceFactory> ipWorkspaceFactory;
//ipWorkspaceFactory.CoCreateInstance(CLSID_ShapefileWorkspaceFactory);
//
//IFeatureLayerPtr ipFeatureLayer;
//HRESULT hr = ipFeatureLayer.CreateInstance(CLSID_FeatureLayer);
//-------------------------------------
BOOL bNameValid;
// 基于持久值设置视觉管理器和样式
//.....
}
CMainFrame::~CMainFrame()
{
IAoInitializePtr m_AoInit(CLSID_AoInitialize);
esriLicenseStatus ls;
m_AoInit->CheckInExtension(esriLicenseExtensionCode::esriLicenseExtensionCodeSpatialAnalyst,&ls);
m_AoInit->CheckInExtension(esriLicenseExtensionCode::esriLicenseExtensionCodeDataInteroperability,&ls);
m_AoInit->CheckInExtension(esriLicenseExtensionCode::esriLicenseExtensionCode3DAnalyst,&ls);
m_AoInit->Shutdown();
m_AoInit=NULL;
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWndEx::OnCreate(lpCreateStruct) == -1)
return -1;
//=AO对象实例化
//-------------------------------------
IAoInitializePtr m_AoInit(CLSID_AoInitialize);// new AoInitializeClass();
esriLicenseStatus ls;
m_AoInit->Initialize(esriLicenseProductCode::esriLicenseProductCodeArcServer,&ls);
m_AoInit->CheckOutExtension(esriLicenseExtensionCode::esriLicenseExtensionCode3DAnalyst,&ls);
m_AoInit->CheckOutExtension(esriLicenseExtensionCode::esriLicenseExtensionCodeDataInteroperability,&ls);
m_AoInit->CheckOutExtension(esriLicenseExtensionCode::esriLicenseExtensionCodeSpatialAnalyst,&ls);
CString path=L"";
IPropertySetPtr ipPropertySet(CLSID_PropertySet);
ipPropertySet->SetProperty(CComBSTR(L"DATABASE"),CComVariant(path));
//MessageBox("")/m_AoInit->
//
//CComPtr<IWorkspaceFactory> ipWorkspaceFactory;
//ipWorkspaceFactory.CoCreateInstance(CLSID_ShapefileWorkspaceFactory);
//
//IFeatureLayerPtr ipFeatureLayer;
//HRESULT hr = ipFeatureLayer.CreateInstance(CLSID_FeatureLayer);
//-------------------------------------
BOOL bNameValid;
// 基于持久值设置视觉管理器和样式
..
}
- vs2010 vc++开发引用 ArcEngine9.3 组件和AO对象实例化方法
- 组件式GIS开发实例之AO+VB
- vc++开发ArcEngine中对象实例化的方法
- unity3d引用和实例化对象的方法
- Arcengine9.3 开发环境搭建
- VS2005+Arcengine9.3系统(程序)移至VS2010+Arcengine10.1继续开发
- 指针,引用和对象化实例
- 声明和实例化-对象引用-对象废除
- 对象,实例和方法
- 实例方法不能脱离对象引用
- 对象、对象引用、实例
- Java学习历程(5):对象实例化的认识 对象和对象引用
- Vuejs 组件化开发tab组件实例
- 组件式GIS开发实例之MO+VC
- AO标注VC
- EBS OAF 开发中的实体关联关系对象AO
- java:类、对象、成员和方法及实例化对象
- java为什么要实例化?实例化的对象和引用...
- Android 多点触摸
- AIR版的通讯簿(二十六)
- jquery子元素选择器、form属性选择器和实现可以左右选择的下拉菜单效果
- AIR版的通讯簿(二十六)
- Cocoa框架类之间的继承关系
- vs2010 vc++开发引用 ArcEngine9.3 组件和AO对象实例化方法
- html连接不同的邮箱
- myeclipse jquerry ext 提示
- [转]MFC中设置窗体的背景色,图片,插入音乐
- DDMS调试
- Android LCD
- DBA手记:DBA诊断利器 - Event 10046和 10053
- Android 内存监测工具 DDMS --> Heap
- Delphi ActionList详解