Цитата:
Сообщение от poli-smen
В какой версии Delphi? У меня в Delphi 7 не проверяет:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
pn, pn2, pn3: TPanel;
begin
pn:=TPanel.Create(nil);
pn2:=TPanel.Create(nil);
pn3:=TPanel.Create(nil);
pn2.InsertComponent(pn);
pn3.InsertComponent(pn);
pn2.Free;
pn3.Free;
end;
Выдаёт ошибку: Access violation at address 00000000. Read of address 00000000.
|
XE
Код:
procedure TComponent.InsertComponent(AComponent: TComponent);
begin
AComponent.ValidateContainer(Self);
if AComponent.FOwner <> nil then
AComponent.FOwner.RemoveComponent(AComponent);
ValidateRename(AComponent, '', AComponent.FName);
Insert(AComponent);
AComponent.SetReference(True);
if csDesigning in ComponentState then
AComponent.SetDesigning(True);
Notification(AComponent, opInsert);
end;
и приведенный код не валится.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.
Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
|