有如下结构指针:
ptest = ^test;
test = Packed Record
   index     : Array[ 0 .. 5 ] Of Char;
   Cnt       : PChar;
End;
aa=^test;
现将ptest的值传递给变量aa,然后 dispose 变量ptest,请问应该如何操作。
请问如果清空变量ptest后,cnt指针是否仍然有效?

解决方案 »

  1.   

    ptest = ^test; 應該也是個類型聲明, 而不是一個變量指針, 你要明白 !
    aa=^test; 則不知道是何意了!
      

  2.   

    不好意思,写错了。
    aa: ptest;
    bb: ptest;
    现在要将aa中的内容传递给bb,请问应该如何操作?
    传递后是否两个变量指向同一地址?
    如果dispose(bb)或dispose(aa),那么结构中的cnt指针是否仍然有效,是否需要单独freemem操作?
      

  3.   

    如果要共用数据就做个引用,aa := bb即可,释放的时候dispose(aa)或dispose(bb)即可,不要两个都做。
    如果要拷贝一个副本用Move函数,两者都需要释放。
      

  4.   

    如果使用aa:=bb,那么bb中的cnt指针是否也一并能够赋给aa中的cnt指针呢?
    还有,在dispose(aa)之前,是否需要freemem(aa.cnt)呢??