Re: Fwd: What to do to get new users
Nikolay Nikolov via fpc-pascal <[email protected]>
| Newsgroups | gmane.comp.compilers.free-pascal.general |
|---|---|
| Message-ID | <[email protected]> |
On 1/24/25 3:21 AM, Hairy Pixels via fpc-pascal wrote: > On Jan 24, 2025 at 2:10:53 AM, Santi via fpc-pascal > <[email protected]> wrote: >> procedure foo() >> var >> s1: TStringList; >> s2: TStringList; >> s3: TStringList; >> begin >> s1:=TStringList.create; >> try >> s2:=TStringList.create; >> try >> s3:=TStringList.create; >> try >> doWhatever(s1,s2,s3) >> finally >> s3.free; >> end; >> finally >> s2.free; >> end; >> finally >> s1.free; >> end >> end; > > Honestly this is the worst memory management strategy I've seen in any > language. It's more keywords than code! It was Delphi’s idea right? If > you’re making some UI app in 2025 a garbage collector or full ARC is > perfectly fine so I don’t see how they get away with selling this. Maybe because there's a much better way to write it: procedure foo(); var s1: TStringList = nil; s2: TStringList = nil; s3: TStringList = nil; begin try s1:=TStringList.create; s2:=TStringList.create; s3:=TStringList.create; doWhatever(s1,s2,s3); finally FreeAndNil(s3); FreeAndNil(s2); FreeAndNil(s1); end; end; Best regards, Nikolay _______________________________________________ fpc-pascal maillist - [email protected] https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal