procedure Finalize (var Aynthing);
Finalize does all necessary clean-ups for the parameter. This is normally done automatically when a variable goes out of scope, so you need to call Finalize only in special situations, e.g. when you deallocate a dynamic variable with FreeMem rather than Dispose.
Using a variable after applying Finalize to it (and without applying Initialize to it again) is invalid and produces undefined results.
Finalize is a Borland Delphi extension.