ch1219553
路人甲
路人甲
  • 注册日期2004-06-01
  • 发帖数25
  • QQ
  • 铜币258枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1960回复:5

在AO的组件开发过程中,可以得到Application对象吗?

楼主#
更多 发布于:2004-08-12 13:29
<P>请问高手:</P>
<P>在AO的组件开发过程中,可以跟VBA一样得到Application对象吗?</P>
<P>因为很多AO的对象都要Application才能用!不知道那么朋友知道,请指教!???</P>
喜欢0 评分0
我会努力的!
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2004-08-12 13:31
如果是dll的方式可以获得,但利用mapcontrol是不用<b>Application对象滴</b>
举报 回复(0) 喜欢(0)     评分
bluewood_cn
路人甲
路人甲
  • 注册日期2004-04-19
  • 发帖数118
  • QQ
  • 铜币551枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-08-13 10:19
<P>当然可以了。不知道你指的是不是arcGis 8.3 .</P><P>如果是 8.3的话,请看下面的代码:(ArcGis 很奇怪,必须先实例化一个Document 对象才能得到一个 IApplication 。哈哈)</P><P>以下代码用于 启动一个 ArcMap应用程序(Arcmap 8.3 可以用)</P><P> ::CoInitialize(NULL);</P><P> //一个ArcMap 的监控程序
 IAppROTPtr appRot(__uuidof(AppROT));
 long appCount = 0 ;//ArcMap 的打开个数
 appRot->get_Count(;appCount);</P><P> IApplicationPtr  app;
 //没有打开的ArcMap
 if(appCount==0)
 {</P><P>//实例化一个DOC
  IDocumentPtr   pMxDoc(__uuidof(MxDocument));
  //从DOC 得到他的App
  pMxDoc->get_Parent(;app);
  app->put_Visible(VARIANT_TRUE);</P><P>  CComBSTR  bsMxdName = cMxdFile;</P><P>//代开Mxd 文档
  app->OpenDocument(bsMxdName);
  
 }</P><P>搞定</P>
举报 回复(0) 喜欢(0)     评分
hugh
路人甲
路人甲
  • 注册日期2004-06-22
  • 发帖数25
  • QQ
  • 铜币165枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-03-01 10:04
初学,收藏!<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
kimichen
路人甲
路人甲
  • 注册日期2006-03-23
  • 发帖数67
  • QQ150517388
  • 铜币185枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2006-10-09 16:45
<P>我也收藏</P>
举报 回复(0) 喜欢(0)     评分
hsghxm
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数517
  • QQ4604052
  • 铜币1枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2006-10-09 21:56
AO开发中arcengine开发是不用<STRONG>Application对象的,也无须获取,但在arcmap定制开发中是可以获得的!跟二楼所说的版本没关系!</STRONG>
MSN:hsghxm@163.com QQ:4604052 (很少用,最好别加) Email:hsghxm@163.com 我的BOLG:http://www.gisempire.com/blog/user1/864/index.htm
举报 回复(0) 喜欢(0)     评分
游客

返回顶部