dcsimg

Run Time Class Handler: Instantiating Classes by Name

WEBINAR:
On-Demand

Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame


Environment: Win16 (VC++ 1.52) and Win9x/NT (VC++ 6.0)

With this class I was able to simply add a file with a new class to my project and to instantiate new objects from this class simply by altering or adding the name of the class in the database or in configuration files.  This way I didn't need to add code for the support of the added class to existing code or to register the class with class factories.

So this is VERY useful if you like to disconnect classes from each other on compile level or to avoid making special class factories.

This class is tested and is in use for both 16/32 bit versions.

Notes:

  1. Use DECLARE_SERIAL and the IMPLEMENT_SERIAL macro for classes which should be used for this function.

  2. As with all classes which use DECLARE_SERIAL a default empty constructor is needed.  If you need initialization, a "Create" function be made and used after a cast of the returned object to the appropriate class.

  3. DECLARE_DYNCREATE does not work with the 32 bit part of this code, perhaps somebody knows why.

  4. As far as I know, this way of coding is part of SmallTalk.

Downloads

Download source - 2 Kb


Comments

  • There are no comments yet. Be the first to comment!

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date