Run Time Class Handler: Instantiating Classes by Name | CodeGuru

Run Time Class Handler: Instantiating Classes by Name

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 […]

Written By
CodeGuru Staff
CodeGuru Staff
Dec 18, 1999
1 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

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

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.