一个指针有结束的地址吗?(100分)

  • 主题发起人 主题发起人 wddelphi
  • 开始时间 开始时间
典型的蠢问题!

关键是你如何知道该对象有那些成员?比如form1上有edit1,edit2,memo1,memo2....
你如何知道?控件还好说,如果是自定义的类呢?不知道这些,你凭什么去访问??

如果你知道这些,比如说该对象的结构是固定的,规定死了的,那么你把该对象添加
一个方法,比如说:SaveToStream,由该对象自己实现保存到流的功能,外部程序只管
调用该方法就行了!!!

脑袋长着不是光用来吃饭和提问的.
 
没办法,还是挨骂,“不知道这些,你凭什么去访问??”可我就是要访问,难道没有办法了吗?
delphi真的不行?还是你也不知道?

没关系,在这里挨骂是常有的事,真拿一些人没办法!唉!

哦,还有啊,再请教个问题,脑袋长着不是用来吃饭和提问的,那还能干什么?当榔头使吗?
 
首先,骂人是不好的。
vcl对象很复杂,自己想要保存他是个很复杂的过程
不过有第三方控件可以保存TComponent的属性
另外delphi提供了可以由TComponent自己保存属性的方法:
TStream.WriteComponentRes
TStream.ReadComponentRes
直接保存到文件也可以:
WriteComponentResFile
ReadComponentResFile
还有其他一些相关的函数,你直接看see also就可以了
不过,只有 published 属性才是包含运行时信息的,才是可以动态知道他的信息的(类型和信息等)
 
啊,亲爱的Pipi.,你回来了!最后再问个问题:
今天下午我看了TMemoryStream.WriteComponent(WriteComponentRes还不太明白是干吗的,
WriteComponent就可以保存组件),还没有看得很明白,但是,想起以前曾用
TMemoryStream.WriteComponent保存过TTreeview,但其上的Data指针的内容并没有保存,
TMemoryStream.WriteComponent对我的帮助可能并不大,所以,我觉得,问题的关键可能是:

给你一个指针,怎么判断它所指向的内存是个普通变量还是一个对象?

哦,谢谢了!Pipi.。
 
这个没办法办到
 
學習
學習 学习.. ..
 
多人接受答案了。
 
蠢,连自己想要什么都没有搞清楚
 
后退
顶部