Hello all

Ross,

Just 2c of mine:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var
  i : Integer;
  aList: Array of TStringList;
begin
  try
    for i := 0 to xxxxxx do begin
      SetLength(aList, i + 1);
      aList[i] := TStringList.Create;
    end;

    // do your what you need
  finally
    if Length(aList) > 0 then
      for i := Low(aList) to High(aList) do
        if aList[i] <> nil then
          // Clean up the objects
          aList[i].Free;
      Finalize(aList); //Uninitializes a dynamically allocated variable
  end;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Best regards,
Sergei Stenkov

> I was hoping the following would work but it appears not.  It compiles
> OK but produces memory errors at runtime.  Why doesn't the compiler
> complain if TSringList can't be used in an array?
> 
> var
>   Categories : array of TStringList;
> begin
>   Categories[0] := TStringList.Create;
> end;
> 
> Cheers,
> Ross.

---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED] 
with body of "unsubscribe delphi"

Reply via email to