![]() |
转储对象中的内容到指定的目标
obj.Save(varDest[, mode])
参数 varDest 用于指定转储的目标。如果给定一个字符串,则将以此字符串为文件名转储,如果给定一个 Stream 对象,则直接将内容转储至流对象中。如果需要直接将内容转储到内存中,可以直接读取无参数的 Item 属性。
转储时可以通过设定转储方式得到不同的安全级别,转储方式 mode 可以由以下一个或者多个数值相加得到:
1:允许转储对象,当转储的内容中包含其他对象时,可以决定是否继续转储;
2:允许转储外部对象,当转储的内容中包含非 NetBox 内部对象的其他对象时,可以决定是否继续转储;
4:允许转储的对象重复引用,当转储内容中包含的其他对象出现多个实例时,可以决定是否继续转储;
使用 Save 可以快速方便的一次将对象中的内容全部转储到给定的存储设备上,与 Load 方法配合可以灵活的在内存与永久存储设备和网络设备之间交换数据。
当对象中存储了其他对象时,此方法将试图将其存储,如果不能存储,则返回错误。当对象中存储了同一对象的多个引用时,此方法将只转储一个拷贝。
当需要将转储数据通过开放环境,比如通过网络,或者通过软盘传递时,如果允许转储重复引用的对象将可能对系统产生内存泄露攻击,所以强烈建议在此类情况下转储和装载时将 mode 设定为禁止重复装载,或者如果禁止外部对象。
下面给出的三种转储的方法,其所做的工作完全相同:
obj.Save "c:\save.dic"
其中 obj 为一个实例化的对象。
Set file = CreateObject("NetBox.File") file.Create "c:\save.dic" obj.Save file
这段代码创建一个文件,并且把文件对象作为流对象传递给 Save 用于转储数据
bin = obj Set file = CreateObject("NetBox.File") file.Create "c:\save.dic" file.Write bin
上面的代码直接使用对象的缺省方法取得转储至内存的数据块,然后创建文件自行存储数据。