Delphi 从Evaluator获取OleVariant(TClientDataset.Data)

Delphi 从Evaluator获取OleVariant(TClientDataset.Data),delphi,delphi-10.2-tokyo,toolsapi,Delphi,Delphi 10.2 Tokyo,Toolsapi,是否可以使用Delphi evaluator评估varArray类型的OleVariant(TClientDataset的数据)?我正在尝试使用ToolsApi为这种类型构建一个调试器可视化工具。我在一个应用程序中工作,该应用程序广泛使用此功能将数据从客户端传输到服务器,这将非常好!我尝试使用指针,计算TVarData(variable).VType和TVarData(variable).VArray,然后强制转换为指针,但指针在api中无效 当调试代码中有TClientDataset变量时,这

是否可以使用Delphi evaluator评估varArray类型的OleVariant(TClientDataset的数据)?我正在尝试使用ToolsApi为这种类型构建一个调试器可视化工具。我在一个应用程序中工作,该应用程序广泛使用此功能将数据从客户端传输到服务器,这将非常好!我尝试使用指针,计算
TVarData(variable).VType
TVarData(variable).VArray,然后强制转换为指针,但指针在api中无效

当调试代码中有TClientDataset变量时,这是不必要的,因为我们已经有了一个使用ToolApi可视化数据集的扩展(在evaluator中调用SaveToFile)。但是我们有太多只包含数据变量的代码

所以我的问题是:有没有一种方法可以通过多次求值来实现这一点,比如将varArray转换为字符串,然后在api(可视化工具)中取消序列化结果? 我看到它可以将OleVariant转换为字符串,但没有说任何关于转换回OleVariant的内容


我使用post作为可视化工具的一个示例。

我不完全清楚您认为什么是答案。如果您询问是否可以获取包含CDS数据的OleVariant并将其显示(例如在DBGrid中),则是的,这是可能的,而且非常简单。更棘手的一点可能是将其连接到Delphi的调试环境bc中。我不确定调试器可视化工具是否是理想的地方,但值得一试……不,我不是要将OleVariant数据带到某个地方显示,我知道这很琐碎。我想问的是,是否有可能在调试时对其进行评估。“序列化”,仅使用计算器。这是在工具中操作它所必需的。我期望的答案是如果可能的话。如果是的话,我该怎么做呢?那么,恐怕我更不清楚你想要什么。你所说的“序列化”到底是什么意思?获取OleVariant的内容。计算器不直接使用OleVariant,只返回“Variant array of Byte”。我想使用ToolsApi获取此内容,但在那里我只能使用evaluator。所以我问是否有办法做到这一点。我使用“serialize”一词是因为这是一种序列化,因为在这之后,我需要在ToolsApi包中“取消序列化”到本地OleVariant