好象SetPicture直接调用了Picture成员的Assign方法,Pascal中类似assign的关键词好象不少,是什么意思?如何处理数据?
解决方案 »
- 急!!!急!!!急!!!急!!!急!!!关于tdbgrideh 列排序问题!!!
- 100分求助关于dbexpress连接MSSQL查询表的问题
- cxgrid如何去掉DRAW A COLUMN 。。。那个标题栏?
- 帮我看看'Select * from mail Where Muser="'+curuser+'...这句话错到哪呢?
- 如何访问共用一个IP上网的局域网中的机子?
- 请问TStream及其子类是不是线程安全的!!!
- 谁有文件和文件夹的拷贝、删除等相关功能的代码
- 大家讨论:将来软件发展趋势,以及delphi的发展趋势
- 我想设个密码提示框,不用form
- 请提供一下建表思路
- 如何将表的内容保存到内存,以后可以在如记事本中用“粘贴”命令得到?
- 简单的要命的文件问题
var
NewGraphic: TGraphic;
begin
NewGraphic := nil;
if Value <> nil then
begin
NewGraphic := TGraphicClass(Value.ClassType).Create;
NewGraphic.Assign(Value);
NewGraphic.OnChange := Changed;
NewGraphic.OnProgress := Progress;
end;
try
FGraphic.Free;
FGraphic := NewGraphic;
Changed(Self);
except
NewGraphic.Free;
raise;
end;
end;
注意上面的代码,设为nil后:
try
FGraphic.Free;
FGraphic := NewGraphic;
Changed(Self);
except
NewGraphic.Free;
raise;
end;
赋值语句的结果是释放原来的对象。如新值不为nil,则建立新对象。也就是说设为nil的结果是旧对象被释放同时不建立新对象。