不用new只是定义变量的类型,
用new是在定义之后创建变量所定义类的对象赋给定义的变量。就是说没有用new定义的要用set语句来初始化才可使用。

解决方案 »

  1.   

    像你的第一段程序在Dim后加一行:
    set mypoint=new PointType
    就不会有错了。
      

  2.   

    new之后就给该变量分配的内存空间,实例化,退出时最好释放掉
      

  3.   

    不行啊,我用了一个GIS软件提供的控件,这个控件下面有很多的子对象soGeoPoint就是它的子对象,但是不是显式的包含在里面的
    也就是说:在这个GIS控件下比如gisActivex1后面打一个.  是不会出现soGeoPoint对象的。大家帮我看看问题在哪里
    代码如下:Private Sub Command1_Click()
    Dim ad As soGeoPoint
    Set ad.x = 12
    Set ad.y = 21
    End SuB   //但是失败了
    //////////////////////////
    Private Sub Command1_Click()
    Dim ad As new soGeoPoint
     ad.x = 12
     ad.y = 21
    End SuB   //成功了
      

  4.   

    先用
    set ad = new soGeoPoint
    初始对象再进行操作。还有赋值操作的不是对象不要用set,直接=就可以了。Dim ad As soGeoPoint
    set ad = new soGeoPoint   '这是关键
    ad.x = 12
    ad.y = 21这样就ok了
      

  5.   

    楼上的兄弟,你说得对。
    但是我现在是用delphi编程,不知道用delphi怎么实现的,您知道吗?
      

  6.   

    shake
    没用过delphi,不知道