Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Why do enums vanish when my tlb file is imported using ClassWizard?

Why do enums vanish when my tlb file is imported using ClassWizard?

Scheduled Pinned Locked Moved C / C++ / MFC
comhelpquestionannouncement
1 Posts 1 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Member_14923
    wrote on last edited by
    #1

    I have a VC 6.0 SP3 App Wizard generated dll. In the dll's type library I added an enum. The enumerated type is used as an argument in a ClassWizard Generated method. I just changed the return value to be my enum. The basic layout of the odl is below. [ uuid(...), helpstring(...), version(1.0) ] library MyLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); typedef [uuid(...), v1_enum, helpstring(...)] enum MyEnum { [helpstring(...)] val1 = 1, [helpstring(...)] val2 }MyEnum; [ uuid(...) ] dispinterface MyInterface { properties: //{{AFX_ODL_PROP(CMyInterface) [id(1)] MyEnum TheType; //}}AFX_ODL_PROP methods: //{{AFX_ODL_METHOD(CMyInterface) //}}AFX_ODL_METHOD }; //{{AFX_APPEND_ODL}} //}}AFX_APPEND_ODL}} }; When I compile the dll it compiles cleanly and I can see my enum using the OLE-COM object viewer, and if I use the dll in VB I also can see the enumeration, and if I #import the tlb file the enumerations are properly declared. The problem is when I try importing the dll into another appwizard generated exe using ClassWizard. When I do this all my interfaces are imported but ClassWizard ignores the enums I have declared. Is there anyway to get my enums to be declared in the ClassWizard generated class files or do I have to do it myself. Simply importing the tlb is not an option at this point because I would have to rewrite too much of the existing application I am using my dll in.

    1 Reply Last reply
    0
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • World
    • Users
    • Groups