Typelib - not quite knowing how an interface needs to be described.

Giganews Newsgroups
Subject: Typelib - not quite knowing how an interface needs to be described.
Posted by:  R.Wieser (addre…@not.available)
Date: Fri, 8 Feb 2019

Hello all,

I've been writing ActiveX stuff (that is what I think its called) that I
could use with VBScript, and when I began doing so I sought for and found a
description to how to write a typelib, and that was what I've been using for
all this time.

The problem is that I do not really understand what I'm using, and none of
the MSDN pages I found over the time describing the different keywords
helped much either.

For example, this interface definition I'm currently using:
    uuid (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
    ,odl, oleautomation, dual, nonextensible

  interface ITesting : IDispatch {
    [id(0x00000001)] HRESULT GetText([out, retval] BSTR* String);
    [id(0x00000002)] HRESULT SetText([in] BSTR String);
What I currently (don't) know about it:

odl -> current interface description type (no idea what the others look like

oleautomation -> No idea what this is for/aimed at.

dual -> Uses IDispatch to call the methods, but direct calling of those
methods is allowed too (don't they all?) .

nonextensible -> the object can only be used as-is, methods cannot be added
(just added it because I had (and still have) no idea of what run-time added
methods look like or how to deal with them)

[id(0x????)] -> No idea what this is for.  Using random numbers does not
seem to change anything. They just cannot be duplicates of each other.

In the last few days I did some more searching, and stumbled over an example
which did not use he above id()s.  I tried it, and everything kept running.
I also removed "oleautomation", and it still kept running.

In other words: I'm using a template which seems to contain stuff I do not
actually need. :-(

I could use a (bare bones) typelib definition example for usage with
VBScript /together with/ some info to what the different items in there
actually do/how they interact with each other.

Other examples accompanied with info about what it contains (and why!) would
be very welcome too ofcourse. :-)

Possibly even better: A website which actually describes (as/like a
tutorial) the different forms (IDL, ODL, COM, ActiveX (more?) ) and their
intended usage.

Rudy Wieser