对象访问问题(30分)

  • 主题发起人 主题发起人 邹光先
  • 开始时间 开始时间

邹光先

Unregistered / Unconfirmed
GUEST, unregistred user!
如果我想用一个对象变量如lCanvas来访问一大堆的TCanvas,怎么声明?用类引用么?如果不用类引用,而用一般的类变量,如这样定义,var lCanvas:TCanvas,是不是在lCanvas:=form1.Canvas赋值之前,要先创建lCanvas?既lCanvas:=TCanvas.create;另外,assign的作用是把source的所有属性赋值给Destination.那么如果这样操作后,lCanvas.assign(form1.Canvas),对lCanvas的操作是不是就不能影响到Form1.Canvas了?
谢谢!
 
直接用lCanvas := form1.Canvas就可以了,因Delphi中的对象变量实际上是
一指针。用lCanvas.assign(form1.Canvas)后,对lCanvas的操作只会影响到
lCanvas本身,在Assign之前,需调用lCanvas.Create。
 
对 icanvas 操作不会影响 canvas
 
用lCanvas := form1.Canvas
 
1。直接lCanvas:=Form1.Canvas,此时对lCanvas的操作就是对Form1.Canvas的操作。
2。lCanvas:=TCanvas.Create, lCanvas.Assign(Form1.Canvas),此时对lCanvas
的操作并不是对Form1.Canvas的操作,不过你可以用CopyRect将lCanvas的内容复制
到Form1.Canvas中。
 
多人接受答案了。
 
后退
顶部