首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

将对象保留到文件

2013-06-25 
将对象保存到文件本帖最后由 dianyancao 于 2013-05-14 01:30:21 编辑Type ClassifierA As LongB As LongN

将对象保存到文件
本帖最后由 dianyancao 于 2013-05-14 01:30:21 编辑

Type Classifier
  A As Long
  B As Long
  
  NextAClassifier As Long
  NextBClassifier As Long
  AManagement As New Collection         'A管理的类别
  BManagement As New Collection
End Type

Private Const MaxCountOfClassifiers As Long = 35 * 35
Public ClassifierTree(MaxCountOfClassifiers) As Classifier
Public ClassifierUpper As Long

可以自己写拷贝函数,将集合对象中的元素保存到文件
怎么用CopyMemory将ClassifierTree()正确复制到字节数组呢?
[解决办法]
缺乏常识,脱离实例的指针是无意义的。
要使得保存到文件的元素有意义,必须是值。
对象的“序列化/反序列化”就是“保存成员值/按照值构建成员相同的对象”。
[解决办法]
直接将整个自定义结构写入二进制文件. 前提是结构中每个元素都需要有确切的长度大小.

[解决办法]
集合必须固定才能计算结构Classifier所占的字节大小。
集合固定的含义是:集合的元素的数据类型要确定(简单数据类型,如果是对象那又麻烦了),元素个数要确定。
[解决办法]
必须自己定义一个保存方法,一个对象恢复方法,定义每个成员如何保存,你的数据类型里又有collection对象,必须规划好如何保存,以便能正确恢复;因为collection可以包含任意的对象,所以必须仔细的规划对象如何分界,集合的成员类型如何识别和分界

热点排行