TheDay : Tdate;
  NewDay : Tdate;
  
  TheDay.Assign(NewDay)和TheDay := NewDay,对TheDay有什么影响或区别

解决方案 »

  1.   

    这两种方法好像都不再次分配内存空间
    但是用assign好像两个之中任意一个有变化,两个都会变
    而直接赋值好像不一样
    唉,记不清楚了,希望别误导楼主就行了
      

  2.   

    1.Assign仅仅限于对象之间赋值,而:=可以适用于普通类型,指针类型(含对象指针)和对象属性的赋值
    2.对象的Assign方法用于拷贝另一个类型兼容对象的内容到本对象,而对象之间的:=操作只对对象指针进行赋值,之后两个变量将指向同一个对象。
    3.对象的属性比较特殊(比如TForm.Font),:=操作实际上调用的是与属性相对应的write方法,而一般来说write里面是调用Assign的(比如FFont.Assign(Value)),所以这个时候Assign和:=具有相似的含义。
      

  3.   

    TheDay := NewDay      //指针赋值,因此TheDay和NewDay指向的一个对象实例
    TheDay.Assign(NewDay) //内容赋值,将NewDay对象复制另一个对象实例,并由TheDay指向