On Wed, 22 Aug 2007, Skybuck Flying wrote:
> Hello, > > Does GetMem care about the memory contents of the pointer variable ? No. > > If not the parameter should be out instead of var to prevent the following > hint message: > > GetMem( node, sizeof(Tnode) ); > > Y:\Free Pascal\Units\Technical\TnodeList\version 0.08 port to free > pascal\unit_TnodeList_version_009.pas(1015,3) Hint: Variable "node" does not > seem to be initialized It is so for compatibility reasons. > > GetMem could fail if out of memory, Delphi raises an OutOfMemory Exception. > > What does Free Pascal do ? The same. > > Also I know when an exception is raised from inside a function the return > value is never assigned to the variable. > > At least not the result variable/return value. > > However I am not so sure what happens to var parameters and out parameters, > those can probably be changed, and later after they already changed an > exception could be raised. > > So whatever bad happens GetMem could always make sure the parameter is > initialized to nil ?! There is no need; As soon as an exception is raised you know the value in the pointer is invalid. Michiael. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal