gpt4 book ai didi

delphi - 将 TMemoryStream 转换为变体

转载 作者:行者123 更新时间:2023-12-03 15:17:34 25 4
gpt4 key购买 nike

如何将 TMemoryStream 的内容转换为变体?我使用Delphi 2010。

TMemoryStream存储文件的内容,可以是PDF或JPG(扫描文档)。

文件保存在 MS SQL 库中。当我在程序中进入编辑模式时,我将该文件的内容从库中提取到 TMemoryStream 中。

编辑文档卡片后,我需要将文档邮寄回基地。扫描的文件也可以更改(或替换为其他文件)。为了回发记录,我使用带有一堆参数的存储过程 - 每个字段一个参数。我将参数作为变体传递给存储过程。

这就是为什么我需要将 TMemoryStream 转换为变体。

最佳答案

假设您需要 Variant 来保存字节数组,您可以使用:

var
MS: TMemoryStream;
V: Variant;
P: Pointer;
begin
...
V := VarArrayCreate([0, MS.Size-1], varByte);
if MS.Size > 0 then
begin
P := VarArrayLock(V);
Move(MS.Memory^, P^, MS.Size);
VarArrayUnlock(V);
end;
...
end;

关于delphi - 将 TMemoryStream 转换为变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14363993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com