直接用set只是增加对象的一个引用
如何将一个对象复制成为另外一个对象

解决方案 »

  1.   

    如果是 recordset对象,可以用其clone方法复制一份;如果是其他,可以用copymemory API 试试。
      

  2.   

    dim obj as new 对象
    或者用
    creatobject()
      

  3.   

    http://search.csdn.net/Expert/topic/2477/2477617.xml?temp=.7583734
    在VB中基本上很难做到。
      

  4.   

    clone '
    楼主问的问题贴切实际应用
    如果是我们自己编写的class,最好是提供一个clone方法
    否则
    dim x as new class1
    dim y as class1
    set y=x '只是y引用x ,如果 set x=nothing ,这时候y是nothing 
      

  5.   

    这个问题可以转换一下求解
    用copymemory进行内存对象拷贝,但是怎样确定对象长度?
    顺便说一句
    vb不简单,我见过一个非常大的系统,里面vb的用法和结构会让所有的人瞠目结舌
    同时我发现,很多用c++开发出的软件实际上是傻瓜级别的开发,毫无思想和逻辑可言
    当然,vb也有它的缺陷,比如底层控制功能确实比较弱vb和vc无所谓谁有谁劣,如两个能配合使用则是绝配
      

  6.   

    复制对象其实就是复制对象中所含的数据吧,只要找到一种可以复制对象数据的方法便可。vb的类可以通过设置Persist属性来获得类的可持续性……
      

  7.   

    COM对象一般不好复制,除非接口提供了Clone方法(比如IEnumXXXX),因为COM着重于约定(contract),而不是具体的实现方法(implementation)。
      

  8.   

    to _gf(萧萧落木):用len()函数可以返回对象的长度