我错在哪里?帮忙解释一下!(100分)

  • 主题发起人 主题发起人 党sir
  • 开始时间 开始时间

党sir

Unregistered / Unconfirmed
GUEST, unregistred user!
bitmap.Assign(backpicture.Bitmap);

bitmap:=backpicture.Bitmap;
的执行结果为什么不一样?(一个正确,一个出错),他们有什么差别?
 
The Assign method copies all properties
from a Series component to another.
Only the common properties shared by both source and destination Series are copied
 
Assign是拷贝另一个兼容类型的对象内容到本对象,而:=则只是对对象的指针赋值,将两个
变量指向同一块指针,即共用.所以,对于前者,Assign以后,两个各不相同,而后者,你如果做
了更改,则两个都会变动.
我做了一个例子.先在Image1中放一幅图片
procedure TForm1.Button1Click(Sender: TObject);
begin
image2.Picture.Assign(Image1.Picture);//Image2拷贝Image1的图片
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
image1.Picture.Bitmap:=nil;//清除Image1的图片,Image2并不会消失
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
image2.Picture.Bitmap:=image1.Picture.Bitmap;//Image2也消失了,因为将它指向了Image1的指针
end;

党Sir,记得以前好象也给你答过一个题,怎么后面进不去了,也不见个结果?
 
zhangkan:我给你加分了
上次你回答的问题,我也加分了,但后来莫名其妙的打不开,气死我了,我想可能是
大富翁的原因吧,我的问题多多,希望我们成为志同道合的编程战友,我信箱是
dangdongxu@cmmail.com
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
835
SUNSTONE的Delphi笔记
S
S
回复
0
查看
765
SUNSTONE的Delphi笔记
S
后退
顶部