Announcement

Collapse
No announcement yet.

Or where is the ProgID

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Or where is the ProgID

    Hi everyone,

    In certain type libs you'll find the Version dependent ProgId's. When I create a
    COM class, I don't have them. What am I doing wrong.

    Also taking as an example the GlossaryServer.dll has a tlb file. When I register the server with regsvr32 and then look it up in the COM browser there is a problem. The COM is unable to access the typelib.

    Furthermore, the GlossaryServer doesn't have the ProgID either in the typelib.

    Cheers

    Steven
    So here we are, this is the end.
    But all that dies, is born again.
    - From The Ashes (In This Moment)

  • #2
    Hi Steven,

    I havn't looked at this from the PB side yet at all, but in working from the C/C++ side, a typelib isn't automatically created when a COM component is registered in the Windows Registry by the regsvr32 >> DllRegisterServer() implementation. I'm speaking in C now - if you want to have a type lib created and registered one runs a midl session on the interface definition file specifying the 'library' keyword there as well as other items that go in the typelib. Then, within the COM component in the DllRegisterServer() implementation is a call to LoadTypeLibEx() which causes the *.tlb file creaed by the midl compiler to be registered in the registry. As I said, I havn't as of yet looked at this from the PB side of things to see how its done. But yes, every useable component registered with Windows might not have a type lib associated with it - as far as I know.
    Last edited by Fred Harris; 21 Aug 2008, 09:33 AM.
    Fred
    "fharris"+Chr$(64)+"evenlink"+Chr$(46)+"com"

    Comment


    • #3
      Originally posted by Steven Pringels 3 View Post
      Hi everyone,

      In certain type libs you'll find the Version dependent ProgId's. When I create a
      COM class, I don't have them. What am I doing wrong.

      Also taking as an example the GlossaryServer.dll has a tlb file. When I register the server with regsvr32 and then look it up in the COM browser there is a problem. The COM is unable to access the typelib.

      Furthermore, the GlossaryServer doesn't have the ProgID either in the typelib.

      Cheers

      Steven
      You need to add the type library to the dll, the COM Browser reads the type library embedded in the dll or it can read the stand alone tlb file. See http://www.powerbasic.com/support/he...Libraries_.htm.

      The ProgID is generated from the Class name, see http://www.powerbasic.com/support/he...an_object_.htm.
      Sincerely,

      Steve Rossell
      PowerBASIC Staff

      Comment

      Working...
      X