文件同步表对象。
支持将 table 对象自动序列化为硬盘文件。
fsys.table 可作为普通 table 对象使用,
在线程退出时将会同步存储到文件中。
一般建议直接使用 fsys.config
创建文件同步表,在线程退出时将会同步存储到文件中。
可选使用 参数@2 指定一个 table 对象指定字段的默认值。
fsys.table 并非实时读写,而是将配置读入内存。
所以请不要多对象、多线程、多进程打开同一配置文件。
这会导致多份不同步的配置写入存储设备时会相互覆盖。
注意此对象不可跨线程传递。
多线程可通过 winform 成员函数转发到界面线程操作配置文件即可,
多进程可利用原子窗体、进程互斥体避免冲突。
如果必须要在多线程打开相同的文件,
请调用 enableAutoSave 方法禁用自动保存功能。
自文件同步表读写属性。
在保存时会使用 table.tostring 函数序列化文件同步表到文件中。
限制:
仅序列化以字符串、数值为键的元素,
仅序列化值为字符串、数值、buffer 以及定义了 _serialize 元方法的成员。
循环引用的值转换为 null,序列化时忽略成员函数。
配置文件在首次使用时自动加载,默认在退出程序时自动保存。
指定一个函数,在下次重新加载配置文件时调用
此函数默认为空函数,在调用 winform.bindConfig 后会被自动赋值用于写入控件值
fsysTableObject.assign(
键名 = 值;
键名2 = 值;
);//该数会自动调用 save 函数保存配置到文件
指定一个函数,在保存配置以前自动调用
此函数默认为空函数,在调用 winform.bindConfig 后会被自动赋值用于读取控件值
是否允许自动保存保存文件。
些设置指定对象回收时是否会自动保存文件,
也同时指定 fsys.config 对象调用 saveAll 函数时是否自动保存
其管理的 fsys.table 对象绑定的文件。
默认情况下 fsys.table 会启用自动保存功能。
如果多进程或多线程打开相同的配置文件,
应当禁用自动保存,以避免后退出的线程或进程自动保存更旧的配置。
fsys.config 的成员也是 fsys.table 对象,也要注意这个问题。
一旦禁用自动保存,要切记每次修改配置后要及时保存文件。
在每次打开设置界面时也建议重新调用 load 方法。
如果要在一个线程修改文件时多线程多进程立即同步,
则要考虑使用 thread.command 或者 process.command 订阅事件。
从文件载入文件同步表。
加载成功返回对象,加载失败返回null空值
fsysTableObject.mix(
键名 = 默认值;
键名2 = 默认值;
);//该函数用于设定默认值,但不会修改已存在的值
存储文件同步表到文件
在线程退出时也会自动调用该函数