在 TPacketDataSet->Data usModified 记录中,我如何确定哪些字段携带 NULL 值,因为它们被故意更改为 NULL?

In A TPacketDataSet->Data usModified record, How can I determine which fields carry NULL value because they were deliberately changed to NULL?

我把TClientDataSet->Delta复制到TPacketDataSet->Data。 然后我使用 TPacketDataSet->Data 将缓存更新写入 Faircom Server ISAM 数据库记录。当使用修改记录对时,标记为 "usModified" 的记录的第二个副本包含每个字段,修改与否,未修改的字段带有 NULL 作为 NewValue。 问题:如何确定哪些字段携带 NULL 值是因为它们被故意更改为 NULL,哪些字段是 NULL 因为它们没有被更改?简单地将 NewValue 写入持久层将导致清除所有未更改的字段值。

使用 InitAltRecBuffers 并查看 NewValue 是否未分配(未更改)或 Null(已清除)