Just tried to compile a short program with that definition of compare: TCompareFunc, and that is the wrong type for TFPGList<String> in my program (yes there is a better class for strings but I just wanted a quick example program to compile). FPC error message says it wants: function(const ShortString;const ShortString):LongInt, so only two non-pointer input parameters. Must be another definition somewhere.
> On Oct 20, 2024, at 2:38 PM, Peter B via fpc-pascal > <[email protected]> wrote: > > On 20/10/2024 22:17, ppadilcdx--- via fpc-pascal wrote: >> I’m a little confused by some references in the docs. Hopefully I can >> explain it clearly. >> >> Looking at TFPGList in fgl. The Sort method refers to a TCompareFunc (it >> does not link to its definition). TFPGList says it’s methods are the same as >> TFPSList or classes.TFPList. So looking in these two other classes their >> Sort methods refer to TFPSListCompareFunc (in fgl) and TListSortCompare (in >> classes), respectively. >> >> type TListSortCompare = function( >> Item1: Pointer; >> Item2: Pointer >> ):Integer; >> >> type TFPSListCompareFunc = function( >> Key1: Pointer; >> Key2: Pointer >> ):Integer of object; >> >> Two questions. >> 1) Should TCompareFunc in TFPGList.Sort be one of the above types, or is >> there another definition somewhere? >> 2) What is an “Integer of object” in TFPSListCompareFunc? (I expect it to be >> a typo but then I’m fairly new to free pascal so I might have missed the >> memo.) >> >> Thanks, >> Pete >> >> _______________________________________________ >> fpc-pascal maillist - [email protected] >> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal > > For question 1, I find the definition of TCompareFunc here > https://www.freepascal.org/docs-html/fcl/bufdataset/tcomparefunc.html > > > > > _______________________________________________ > fpc-pascal maillist - [email protected] > https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - [email protected] https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
