Доброго дня!
Есть код.
Он генерирует массив кнопок, при клике на любую из них должна удаляться последняя.
клик на кнопку 0...N-1 удаляет последнюю без проблем.
клик на последнюю удаляет ее и вызывает ошибку access violation...
помогите решить эту проблему!!!
type
Tmainform = class(TForm)
addg: TButton;
delg: TButton;
procedure addgClick(Sender: TObject);
procedure createg(str:string);
procedure delgClick(Sender: TObject);
end;
var
mainform: Tmainform;
count:integer;
delgn:array of TButton;
implementation
{$R *.dfm}
//создается массив кнопок
procedure tmainform.createg(str:string);
var
i:integer;
begin
i:=count;
count:=count+1;
setLength(delgn,count);
delgn[i]:=TButton.Create(self);
delgn[i].parent:=mainform;
delgn[i].Top:=40+30*i;
delgn[i].Left:=200;
delgn[i].Width:=20;
delgn[i].Height:=20;
delgn[i].Tag:=i;
delgn[i].Caption:=inttostr(delgn[i].Tag);
delgn[i].OnClick:=delgClick;
end;
procedure Tmainform.addgClick(Sender: TObject);
begin
createg('help');
end;
procedure Tmainform.delgClick(Sender: TObject);
var
begin
count:=count-1;
delgn[count].Free;
setLength(delgn,count);
end;