title: free the variant VarArray
body: <pre><code>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;
  </code></pre>
  
  <p>I am using Delphi for Win32.</p>
  
  <p>Does this function create a memory leak or not ?</p>
  
  <p>Should I free the variant v as vararray and how?</p>
  
  <p>Should I free or initialize the local variant v?</p>