I agree. The use of assigned() is totally unnecessary in that context. ----- Original Message ----- From: "Neven MacEwan" <[EMAIL PROTECTED]> To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]> Sent: Monday, 3 March 2003 12:02 Subject: Re: [DUG]: Freeing Stringlists.
> Andreas > > I must completely agree with you 'Free' and FreeandNil() can always > be called on a nil pointer, This is a language function, Therefore by doing > the > assignment check for 'readability' you are essentially advertising your > ignorance of the language IMHO > > Neven > > ----- Original Message ----- > From: "Andreas Toth" <[EMAIL PROTECTED]> > To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]> > Sent: Monday, March 03, 2003 10:37 AM > Subject: RE: [DUG]: Freeing Stringlists. > > > > That's perfectly fine with me. I just think it's a waste of time, that's > > all. After all, after you've found that it's not nil, you'll have to call > > FreeAndNil() that will do this test again for you. And, in most instances, > > you'll probably find that Assigned() evaluates to true anyway (OK, so I > > realise this depends on the code, but in my experience this is most of the > > case), and hence doubling up on your efforts. IMHO, readability is only > > impaired if you don't know what Free() and FreeAndNil() does. > > > > > > -Andreas > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > Behalf Of Guy Brown > > Sent: Monday, 3 March 2003 10:19 > > To: Multiple recipients of list delphi > > Subject: RE: [DUG]: Freeing Stringlists. > > > > > > I stand corrected. However I still think that it is better practise to > > explicitly test Assigned() first for the reasons that David mentioned. > > > > Guy > > > > -----Original Message----- > > From: Andreas Toth [mailto:[EMAIL PROTECTED] > > > > And what do you think Free() does -- checks to see if it is nil or not, > just > > like you are doing with Assigned(). > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > Behalf Of Guy Brown > > > > Nope, FreeAndNil() frees the object and then nil's the reference you > passed > > to it so that any other clean up code that uses Assigned() to test the > same > > reference won't free the object a second time. > > > > Guy > > > > ------------ > > >From sysutils: > > > > procedure FreeAndNil(var Obj); > > var > > P: TObject; > > begin > > P := TObject(Obj); > > TObject(Obj) := nil; // clear the reference before destroying the > object > > P.Free; > > end; > > > > -------------- > > > > -----Original Message----- > > From: Andreas Toth [mailto:[EMAIL PROTECTED] > > > > There's no need to use Assigned() since FreeAndNil() performs a similar > > test... > > > > > > -Andreas > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > Behalf Of Peter Speden > > Try > > > > If Assigned (includelist) then > > FreeAndNil (includelist); > > > > Etc > > > > Or > > > > If includelist <> nil then > > FreeAndNil (includelist); > > > > They are not freed elsewhere are they. > > > > Peter Speden > > -------------------------------------------------------------------- ------ > - > > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > > Website: http://www.delphi.org.nz > > To UnSub, send email to: [EMAIL PROTECTED] > > with body of "unsubscribe delphi" > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > > > -------------------------------------------------------------------- ------ > - > > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > > Website: http://www.delphi.org.nz > > To UnSub, send email to: [EMAIL PROTECTED] > > with body of "unsubscribe delphi" > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > -------------------------------------------------------------------- ------ > - > > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > > Website: http://www.delphi.org.nz > > To UnSub, send email to: [EMAIL PROTECTED] > > with body of "unsubscribe delphi" > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > > > -------------------------------------------------------------------- ------ > - > > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > > Website: http://www.delphi.org.nz > > To UnSub, send email to: [EMAIL PROTECTED] > > with body of "unsubscribe delphi" > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ > > > > > > -------------------------------------------------------------------- ------- > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > Website: http://www.delphi.org.nz > To UnSub, send email to: [EMAIL PROTECTED] > with body of "unsubscribe delphi" > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz To UnSub, send email to: [EMAIL PROTECTED] with body of "unsubscribe delphi" Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
