1.能不能把tpicture类型的变量转换为其他类型,以赋值到其他的变量上?
2 比如我定义了一个tpicture类型的变量a,我这样赋值有错吗?a:=dbImage1.Picture;
能否把两个tpicture类型的变量进行比较是否相等。
3 该怎么判断dbimage1上的图片为空,或者tpicture类型的变量为空?就象判断Edit1.Text=''一样
2 比如我定义了一个tpicture类型的变量a,我这样赋值有错吗?a:=dbImage1.Picture;
能否把两个tpicture类型的变量进行比较是否相等。
3 该怎么判断dbimage1上的图片为空,或者tpicture类型的变量为空?就象判断Edit1.Text=''一样
2. a:=dbImage1.Picture ,没错, 还可以 dbimage2.picture := dbimage1.picture;
不能直接比较如: image1.picture=a
3 if image1.picture=nil then
2、不可以
3、 if Image1.Picture.Graphic = nil then
//your code
a:=dbImage1.Picture是一个不安全的用法,实质上只是指针赋值而已。
真正安全的赋值是深度复制:a.Assign(dbImage1.Picture);
2、判断图片是否是空,最好不要判断对象是否已经创建(即image1.picture=nil),特别是在组件中。部分组件中图片是构造函数中即创建,指针不是nil,但很多时候图片的确是空的。
安全的办法是:先判断是否为nil,再判断width和height是否为0。