Am Mittwoch, den 23.07.2008, 08:28 +0100 schrieb Jonas Maebe: > On 23 Jul 2008, at 06:32, Marc Santhoff wrote: > > > I understand right that (as I have asked before) an empty (ansi)string > > is equal to NIL. > > True. > > > If this is correct, is setting a string to '' the same as setting the > > string to NIL? > > No. > > > So i can e.g. use exchagably: > > > > {$H+} > > var > > s: string; > > begin > > s := 'something'; > > > > { this ... } > > s := ''; > > { ... works equally to that: } > > s := NIL; > > No, because "s:=nil" doesn't compile.
Mumble ... > And pointer(s):=nil would create a memory leak. That's the important part, I'm dealing with cleanly freeing strings when destroying objects. > > And more: is the memory consumed by the string freed using one of the > > two methods? > > It is freed if you use s:='' This is the way to do it, OK. > (but keep in mind the earlier discussion > about reference counted types: the memory may not be freed > immediately, because there may still be hidden references lingering > around for a while). I will. Many thanks, Marc _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal