安仕达信息化解决方案

构件化研发思想和平台
DELPHI中如何开发包含 BLOB 属性的控件

 

根据我的开发经验,下面列出具体的开发步骤

声明私有域的特殊属性来保存 BLOB 数据

我个人来说,一般喜欢使用 TmemoryStream 类型来保存数据,特殊情况下 也可以使用 OleVariant 等特殊类型。

重载重要方法

Protected

procedure DefineProperties(Filer: TFiler); override

procedure TRmScriptList.DefineProperties(Filer: TFiler);
begin
inherited DefineProperties(Filer);
Filer.DefineBinaryProperty('ScriptData', ReadBinaryData, WriteBinaryData,True);
end;

ScriptData 是你需要保存在 DFM 的数据节点名称 (类似 INI 的概念) 你可以用其他名字替代

声明读写方法

Protected

procedure ReadBinaryData(Stream: TStream);
procedure WriteBinaryData(Stream: TStream);

 

然后,你在这2个方法中去设计读写规则,DELPHI的RTL机制保证了这些数据可以自动被保存到DFM文件中,并在窗口创建的时候自动读出来还原。

posted on 2008-07-20 18:04  main  阅读(522)  评论(0)    收藏  举报