delphi - 释放变量VarArray

标签 delphi variant

FUNCTION SystemspartsClT.KeyFound(Key : AluCostDict.SystemspartskeyT) : BOOLEAN;
VAR v :  Variant;
BEGIN
   v      := VarArrayCreate([0,1], VarInteger);
   v[0]   := Key.System;
   v[1]   := Key.PartType;
   Sucess := t.Locate('System;PartType', v, []);
   v      := NULL;
   Result := Sucess;
END;


我正在使用Delphi for Win32。

此功能是否造成内存泄漏?

我应该将变量v释放为vararray吗?

我应该释放还是初始化本地变量v?

最佳答案

这不是泄漏,但是对于一个相当简单的任务来说,它太多了代码。尝试:

FUNCTION SystemspartsClT.KeyFound(
    Key : AluCostDict.SystemspartskeyT) : BOOLEAN;
BEGIN
   Result := t.Locate('System;PartType', 
                 VarArrayOf([Key.System, Key.PartType]), []);
END;

关于delphi - 释放变量VarArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1438734/

相关文章:

delphi - 在 Delphi XE 中使用 GDI+

delphi - Delphi 6 TWinControl 后代的 WndProc() 有时如何在主 VCL 线程之外执行?

delphi - 如何检查字体支持哪些字符集(代码页)(有字母)?

c++ - 是否可以在没有 lambdas 的情况下使用 std::visit (只是一个简单的类)?

c++ - 以结构作为 boost::unordered_map 中的键的 boost 变体

mysql - 在 Delphi 中连接到 Mysql 数据库的最佳方法是什么

delphi - 如何在Delphi中获取方法参数名称数组/列表?

arrays - Delphi 2007 和动态变量数组作为 Var 参数

c++ - 如何将自定义结构传递到 C++(非 CLI)中的 _variant_t?

c++ - 优化 std::visit 可能吗?