资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

mapx的类型定义在VB和delphi中的问题。高分相送!!!

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

对于mapx的自定义工具使用时,定义toolused事件时定义变量类型的问题,  
  VB中这样定义的变量类型如下:                                                    
  dim   ftr   as   MapXlib.feature       //定义了一个feature对象;  
  dim   pt     as   new   point                   //   点对象;  
  dim   pt     as   new   points  
  请问,这样的类型定义,对应在delphi中应该是怎么样的呢?  
   
  在delphi里可以这样定义的,有两种,区别是什么呢,好迷惑啊!  
  newObj   :   Variant;   //   Used   for   storing   new   feature   object  
          pt   :   Variant;           //   Used   for   storing   point   of   click  
          pts   :   Variant;         //   Used   for   storing   collection   of   points  
          ftrs   :   Variant;       //   Used   for   storing   collection   of   features  
  或是  
  newObj   :   cmapxfeature;   //   Used   for   storing   new   feature   object  
          pt   :   cmapxpoint;           //   Used   for   storing   point   of   click  
          pts   :    
          ftrs   :  
  哪位大侠给指教指教,迷惑好久了!小弟先道谢了!

网友回答:

发表者:gujoy

不会Delphi,不过,我觉得应该一样吧。Variant在VB中也有啊,是MS定义的一种复合数据类型,也能够指向对象的。如果想清晰点,我觉得用明确的类型定义好一点!  
  祝你好运吧。如果真的迷惑,那就多写程序,多看程序,代码看多了,自然就有感觉啦!

发表者:fengyun925

Variant是在不能确定变量类型的时候使用的一种声明方式!  
  个人建议要使用那种明确的定义方法  
  因为使用Variant来定义的话,有的时候会出现莫名其妙的错误  
  今天上午刚刚解决完一个问题  
  就是和这个东西有关系  
 

发表者:echo20003

VB中这样定义的变量类型如下:                                                    
  dim   ftr   as   MapXlib.feature       //定义了一个feature对象;  
  dim   pt     as   new   point                   //   点对象;  
  dim   pt     as   new   points  
  请问,这样的类型定义,对应在delphi中应该是怎么样的呢?  
  对应在delphi中应该是  
  var    
      ftr   :   cmapxfeature;  
      pt   :   cmapxpoint;  
      pts   :   cmapxpoints;  
   
  定义为Variant变量是一个变体变量,cmapxfeature   就是MAPX的一个具体变量。  
 

发表者:zkjbeyond

这里隐藏面向对象语言的特性。  
   
  比如java语言中。是单根继承的语言。  
  继承自Object.  
   
  Object   s=new   Point();  
  Points=new   Point();  
   
  如果为单根继承语言。这样定义是OK的。   但多根的,比如c++就麻烦了。  
   
 

发表者:zkjbeyond

这里面有继承的概念。面向对象的编程思想是很流行的。VB里面把这些都隐藏起来了。我们看不到细节,  
   
  我举个例子你就知道了。  
                                  对象           Object  
  地理对象也是一个对象           GeoObj        
  点、线、面是地理对象           Point,Line,Polygon  
   
  所以以下定义都是正确的。  
  Object   obj=new   GeoObj();  
  Object   obj=new   Point();  
  Object   obj=new   Polygon();  
  GeoObj   obj=new   Polygon();  
  GeoObj   obj=new   Line();  
 

发表者:hongping

部分代码:  
  var  
      pt   :   Variant;  
  begin  
      pt   :=   CreateOleObject(MapX.Point.4);  
  end;  
  其他类似!

发表者:wangxinqwe

pt:   MapXlib_tlb.point;  
      pts:   Mapxlib_tlb.Points;  
      f   :   Mapxlib_tlb.Feature;  
  这样也可以


 

 
热门推荐笔记本: TCL笔记本
相关文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved