RAD Studio VCL Reference
|
Frees an object reference and replaces the reference with nil (Delphi) or NULL (C++).
procedure FreeAndNil(var Obj);
FreeAndNil( Obj);
Use FreeAndNil to ensure that a variable is nil (Delphi) or NULL (C++) after you free the object it references. Pass any variable that represents an object as the Obj parameter.
Delphi Examples:
{ This code displays a Save Picture dialog box with the TBitmap default extension that is added automatically to files that are given no extension. Confirm that the bitmap file has been saved under the filename and path specified. } procedure TForm1.Button1Click(Sender: TObject); var NewFileName, OldFileName: string; NewFile, OldFile: TFileStream; begin SavePictureDialog1.DefaultExt := GraphicExtension(TBitmap); SavePictureDialog1.Filter := GraphicFilter(TBitmap); OldFileName := 'factory.bmp'; if SavePictureDialog1.Execute then begin NewFileName := SavePictureDialog1.FileName; OldFile := TFileStream.Create( OldFileName, fmOpenRead or fmShareDenyWrite); try NewFile := TFileStream.Create( NewFileName, fmCreate or fmShareDenyRead); try NewFile.CopyFrom(OldFile, OldFile.Size); finally FreeAndNil(NewFile); end; finally FreeAndNil(OldFile); end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Image1.Picture.LoadFromFile('factory.bmp'); end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|