On Mon, 14 Jun 2021, gabor via fpc-pascal wrote:
Why does TMemoryStream only implement one version of SetSize method?
https://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/rtl/objpas/classes/classesh.inc?revision=49038&view=markup#l1225
The TStream class has two versions of SetSize method (virtual, overload)
- one with a parameter of LongInt type and the other with the Int64
type. Since function is virtual, child classes can override it and can
be called from code, but then a version of the SetSize function not
implemented for a given platform in the TMemoryStream class can be called.
The base method checks which one is overridden.
So it does not matter which one you override in the child.
The "other" one will always fall back to the method in TStream.
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal