Нужно ли делать в FormClose - SG1.Free;? Или оно само грохнется при закрытии формы?
В описании:
- Код: Выделить всё
...........
private
{ private declarations }
SG1: TStringGrid;
............
В FormClose записано:
- Код: Выделить всё
CloseAction := caFree;
Вопрос возник в связи с AV, когда с данной формы открываются еще формы.
Когда есть SG1.Free; возникает AV здесь:
- Код: Выделить всё
procedure TApplication.DoIdleActions;
var
i: Integer;
CurForm: TCustomForm;
AForm: TForm;
begin
i := 0;
while i < Screen.CustomFormCount do begin { While loop to allow number of forms to change during loop }
CurForm:=Screen.CustomForms[i];
if CurForm.HandleAllocated and CurForm.Visible and CurForm.Enabled then
CurForm.UpdateActions;
Inc(i);
end;
if (FFormList<>nil) then begin
for i:=0 to FFormList.Count-1 do begin
AForm:=TForm(FFormList[i]);
if AForm.FormStyle=fsSplash then <---------здесь
AForm.Hide;
end;
end;
end;
Обсуждение даного AV в соседней ветке.