to leway:
我也正在学习有关的方法,我也不太懂怎样用stream.readcomponent,和ReadComponentResFile
但是,我已经做个一些试验,你可以用ReadComponentResFile、writeComponentResFile来存储你
的窗体,但是我就不明白,你如果是在该窗体静态(即在delphi ide下面设计的控件)设计
一控件,这样做的话,ReadComponentResFile将会出错,原因是:你读出窗体的时候,已经
把静态设计的控件创建好了(读到该窗体类型),而接着再读控件的时候会有控件命名冲突,
即控件被创建了两次。而如果窗体的控件都是动态创建的时候不会出现问题。
而dfm文件它有两种形式,一是二进制的形式,一是文本的形式,可以用objectTextTobinary
和ObectBinaryToText相互转换,然后存储成文件。现在的问题是你的每一个空间都必须用
registerclass或registerclasses注册,当然存储的时候只存储属性,和vc实例化有点类似,
而当有事件属性的时候,加载的时候就不好处理,我也正在研究,我已经把我以前的两个用
ide设计的窗体(一是文本形式,一是二进制形式)用readcomponent读出来运行过,当然这
样的窗体和ide设计期的窗体没有什么不同,但是没有相应的响应事件所以也没有什么用,
如果你有新的发现,请通知我,不胜感激!einstrain@163.com