R.Wieser
2019-02-08 18:44:30 UTC
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
though)
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. :-(
tl;dr:
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.
Regards,
Rudy Wieser
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
though)
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. :-(
tl;dr:
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.
Regards,
Rudy Wieser