revised initialization process so pointer to dynamically allocated objects
are stored before initialization so memory is properly cleared if an exception occurs during initialization. Old implementation leaked memory under these conditions.
Authored by: paklein 2004-08-08
Parent: [r884]
Child: [r886]