[fpc-devel]SizeOf() reports 0 for Var Paramaters. (1.1)
Marco van de Voort
marcov at stack.nl
Sun Jul 27 16:25:03 CEST 2003
> I'm not certain but I'm pretty sure that under 1.0.6 SizeOf() reported the
> proper size for Var paramaters. If not then I think a compiler warning may
> be in order for code like this... because I just spent an hour tracking down
> this problem. ;) Is there any other way of determining the original size of
> the var param?
IIRC it returns correct data for _typed_ open arrays, not for "generic"
open arrays.
So for
proceduer bla(var a: array of longint);
// high() and sizeof() are possible
and for
procedure bla(var a);
// none.
I'm pretty certain it was the same for 1.0.6. This was already the
case in BP/TP (e.g. see the blockwrite and blockread procedures that
require the length to be explicitely passed)
More information about the fpc-devel
mailing list