V Veteran Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-27 #2 没区别,前一种写法被属性设置函数重定义为 Assign. Controls.Pas property Font: TFont read FFont write SetFont stored IsFontStored; procedure TControl.SetFont(Value: TFont); begin FFont.Assign(Value); end;
没区别,前一种写法被属性设置函数重定义为 Assign. Controls.Pas property Font: TFont read FFont write SetFont stored IsFontStored; procedure TControl.SetFont(Value: TFont); begin FFont.Assign(Value); end;
C chcw Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-27 #3 你所说的是对控件而言,那如下语句有何区别: var MyFont: TFont; begin MyFont := Form.Font; end; var MyFont: TFont; begin MyFont.Assign(Font); end;
你所说的是对控件而言,那如下语句有何区别: var MyFont: TFont; begin MyFont := Form.Font; end; var MyFont: TFont; begin MyFont.Assign(Font); end;
H Hao.Yu Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-27 #4 对属性来说,向Font赋值会映射到SetFont调用。对于一般的对象,由于一个TFont变量实际 上是一个内存指针,所以MyFont=AnotherFont是把两个指针指向了同一个Font对象,而Assign 则是把一个Font的属性复制到另外一个Font,内存中有两个TFont的内容。
对属性来说,向Font赋值会映射到SetFont调用。对于一般的对象,由于一个TFont变量实际 上是一个内存指针,所以MyFont=AnotherFont是把两个指针指向了同一个Font对象,而Assign 则是把一个Font的属性复制到另外一个Font,内存中有两个TFont的内容。
V Veteran Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-27 #5 第一个例子使 MyFont 指向 Form.Font。 第二个例子会出错,因为 MyFont 是空指针,还没有实体。Create 后再 Assigh 的情形 就如楼上所说。
C copy_paste Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-03 #7 对象可以说是指针, :=,是对对象指针赋值 Assign是copy另外一个对象的属性,如对象私有的Integer,Pointer,String and otherinfo, 怎么说是一样的呢?
L lance2000 Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-13 #8 》:= 是用assign实现的 此种说法,一般情况下是错误的。