unit Unit2;interface
uses sysutils,classes,windows;
type
    a=class
    private
    b:string;
    public
    constructor create(path:string);
    destructor destroy;override;
end;
var aa:array of a;
implementationconstructor a.create(path:string);
begin
    inherited create;
    b:=path+';..';
end;
destructor a.destroy;
begin
    inherited;
end;
end.
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,unit2;type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
    setlength(aa,6);
    for i:=0 to 5 do
    begin
        aa[i].create('sdf');
    end;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var i:integer;
begin
    for i:=0 to 5 do
    begin
        aa[i].free;
    end;
end;end.执行到 b:=path+';..'; 会出错,搞不懂。