Форум: "Основная";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];
ВнизКогда правильно делать FreeAndNil, а когда просто Free? Найти похожие ветки
← →
Макс Черных (2002-04-04 01:04) [6]>cypher
Да без проблем, вот две процедуры одного из моих
компонентов, что они делают, надеюсь, объяснять не надо.
destructor TCustomNSListView.Destroy;
begin
OnEdited := nil;
FreeAndNil(FDataLink);
inherited Destroy;
end;
Если мы напишем FDataLink.Free, то в нижеследующем
методе получим Access Violation в момент закрытия
приложения, так как FDataLink уже Free, но еще не nil
procedure TCustomNSListView.Notification(AComponent: TComponent; Operation: TOperation);
begin
inherited Notification(AComponent, Operation);
if (Operation = opRemove) and (FDataLink <> nil) and (AComponent = NSExplorer)
then NSExplorer := nil;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];
Память: 0.43 MB
Время: 0.005 c