Drawings SDK Developer Guide > Working with .dwg Files > Working with Applications > Creating Host Applications > Initialization and Termination
Initialization and Termination

All client programs should adhere to the following rules regarding initialization and termination:

  • A client program should always call odInitialize() before any objects are created and prior to any other calls.
  • The OdDbSystemServices pointer passed to odInitialize() should not be NULL, and it must persist until after the corresponding call to odUninitialize(). If this object is deleted or goes out of scope before odUninitialize() is called, exceptions occur.
  • odUninitialize() should be called after all calls have been made and all objects (except for the OdDbSystemServices pointer passed to odInitialize()) have been deleted. Note that a smart pointer to an OdRx* object (OdDbDatabasePtr for example) that is not destroyed prevents the object from being deleted. All smart pointers must be released (or assigned NULL value) before calling odUninitialize().
Copyright © 2002 – 2021. Open Design Alliance. All rights reserved.