kuanghu16
路人甲
路人甲
  • 注册日期2004-03-18
  • 发帖数73
  • QQ
  • 铜币227枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:3150回复:10

dll调用问题

楼主#
更多 发布于:2004-09-12 22:36
<P>
兄弟在调用Dll的时候发现一个莫名其妙的问题,如下:
   1 在系统中注册 layer.dll
   2 随便建立一个*.exe程序 ,引用ersicore.olb类库 与layer.dll
   3 主窗体上写一个mapcontrol1 ,然后 画一个按钮  
   4 在菜单的响应事件中 写如下代码:
      
Private Sub Command2_Click()
 Dim pcm As ICommand
 Set pcm = New ESRI_Layer.Layers
 
 pcm.OnCreate MapControl1
 pcm.OnClick
 
 
End Sub</P>
<P> 但是 每次运行时候激活此事件后, 此dll的对话框总是一闪就不再出现了,为什么呢??</P>
<P>   我调试了一下 ,在 pcm.OnCreate MapControl1设置断点,则发现运行过 pcm.OnClick时,窗体会出现,但是在往后一步运行过End Sub
  窗体就会消失, 为什么会出现这样的情况,我该如何才能避免呢?
</P>
喜欢0 评分0
我门是害虫 我们是害虫 !!
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2004-09-12 23:00
可能是你dll里面有问题
举报 回复(0) 喜欢(0)     评分
kuanghu16
路人甲
路人甲
  • 注册日期2004-03-18
  • 发帖数73
  • QQ
  • 铜币227枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-09-12 23:37
<P>没有问题啊,我用在arcgis带的例子就没有问题,并且我吧他注册到arcmap中也没有问题啊??</P>
我门是害虫 我们是害虫 !!
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
3楼#
发布于:2004-09-13 09:42
可能是dll里面有控制对话框显示的代码
举报 回复(0) 喜欢(0)     评分
kuanghu16
路人甲
路人甲
  • 注册日期2004-03-18
  • 发帖数73
  • QQ
  • 铜币227枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-09-13 15:12
<P>谢谢gis,   我的问题 找到了</P><P>    原来是因为 如果直接这样写icommand 仅仅是一个暂时变量, 这个好象要设置成  一个过程变量</P><P>,通告先!!~~</P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
我门是害虫 我们是害虫 !!
举报 回复(0) 喜欢(0)     评分
wavvylia
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数384
  • QQ
  • 铜币555枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-09-14 11:38
<P>我觉得问题不是出在这里,我这样写都没有你出的这种错误:</P><P>private sub Command1_Click()</P><P>dim mytools as ICommand</P><P>set mytools=createobject("IndexQuery.clsQuery")</P><P>command1.OnCreate Mapcontrol1.object</P><P>Command1.OnClick</P><P>end sub</P>
举报 回复(0) 喜欢(0)     评分
kuanghu16
路人甲
路人甲
  • 注册日期2004-03-18
  • 发帖数73
  • QQ
  • 铜币227枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-09-14 14:16
<P>楼上不对把,即使写,也应该这样写吧!!</P><P>private sub Command1_Click()</P><P>dim mytools as ICommand</P><P>set mytools=createobject("IndexQuery.clsQuery")</P><P>mytools.OnCreate Mapcontrol1.object</P><P>mytools.OnClick</P><P>end sub</P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
我门是害虫 我们是害虫 !!
举报 回复(0) 喜欢(0)     评分
tianjuan980106
路人甲
路人甲
  • 注册日期2004-03-21
  • 发帖数89
  • QQ
  • 铜币494枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-09-15 12:49
<P> 上边的高手</P><P>1。怎么注册dll</P><P>2。怎么把它注册到arcmap</P><P>谢谢</P>
举报 回复(0) 喜欢(0)     评分
kuanghu16
路人甲
路人甲
  • 注册日期2004-03-18
  • 发帖数73
  • QQ
  • 铜币227枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-09-15 15:48
<P>你参考exploring Arcobjects ,它里面讲的很清楚的!~~~~</P><P>  </P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em08.gif" />
我门是害虫 我们是害虫 !!
举报 回复(0) 喜欢(0)     评分
wangel
路人甲
路人甲
  • 注册日期2004-08-27
  • 发帖数122
  • QQ
  • 铜币363枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2004-09-23 13:28
<P>顶!!!</P><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
如何让你遇见我 在我最美丽的时刻 为这 我已在佛前求了五百年 求佛让我们结一段尘缘 佛于是把我化做一棵树 长在你必经的路边 面朝大海 春暖花开
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部