关于组件的序列化 用流的WriteComponentres方法序列化组件的时候,是不是有些属性不能被序列化啊?我在做的时候,比如Visible和enable就不能被序列化,有什么方法能将这两个属性序列化呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是这样的吧,MSDN上说只序列化显示设置过的属性,其他的不序列化(不知道delphi是不是一样的)。但即使这样在序列化某些组件的visible属性时却不能完全序列化 1.当然不会序列化所有的了,也不要看你是不是设置过,而是看是不是默认属性(default指示),2.可以利用RIIT来把你要的属性持久化,只不过多写点代码而已. 如果是默认属性就不会被序列化吗?RIIT没研究过 参考一下 TStrings TFilter 就是干这事的。 用cxpropertystore能达到你要得效果 published 的属性delphi会帮你自动序列化,非published属性要自己手动写可以参照 StringGrid 控件对列宽属性的序列化的代码 似乎不太对,enable,和visibal都是published属性,但他们只有在值是False的情况下才会被序列化。我觉得四楼说的会是对的,因为visible是bool型,只有两个值,所以很容易会被设置成默认值。这算是delphi的问题吗? 如果想让VCL自动流化,把该属性写在Published的范围内。如想手动流化参照TPersistent类中的DefineProperties方法。自已继承TPersistent.DefineProperties;override一下。把想流化的属性写入读出就行了。 delphi新手求救啊,在线等 如何知道打印是否成功 DBGrid数据查询问题 COM初学者在编程中遇到了许多问题……,请COM类的高人们指点,谢谢啦! DBEdit的字段为数字型,如何让它居左显示? 如何不通过键盘向word里写信息 得到系统临时文件夹的全路径! 请问如何学习delphi? 在ISAPI中如何使用COOKIE 关于光驱的问题 请教一个记录方面的问题(问题简单,请各位赐教) 求IE6的地址栏 的网址获取和替换代码 Delphi
不是这样的吧,MSDN上说只序列化显示设置过的属性,其他的不序列化(不知道delphi是不是一样的)。但即使这样在序列化某些组件的visible属性时却不能完全序列化
2.可以利用RIIT来把你要的属性持久化,只不过多写点代码而已.
TFilter 就是干这事的。
似乎不太对,enable,和visibal都是published属性,但他们只有在值是False的情况下才会被序列化。我觉得四楼说的会是对的,因为visible是bool型,只有两个值,所以很容易会被设置成默认值。这算是delphi的问题吗?
DefineProperties方法。自已继承TPersistent.DefineProperties;override一下。把想流化的属性写入读出就行了。