Thanks for the info everyone.
I think that my first generation I might just release with some docs and =
examples. Then work on the IDL. I signed up on the pycom-dev list... =
I'd love to see this happen. It's so much nicer in Python that C++ or =
VB for creating objects. If anyone knows how far along Christian Tismer =
is with what he was working on, or what's left to be done, I'd like to =
help if I could. I just don't know if I'm ready to play with the big =
dogs yet ;-)
Karl Putland
kperacles@geocities.com
P.S.
Start a big drive tomorrow. I'm moving back to Denver, CO, from AL, so I =
will be gone for a couple of weeks (switching providers, looking for =
broadband, etc...). E-mail to my geocities address will still reach me =
when we get there.
Bye.
Bill Tutt <billtut@microsoft.com> wrote in message =
news:4D0A23B3F74DD111ACCD00805F31D8100DB90F0F@RED-MSG-50...
>=20
>=20
> > From: Mark Hammond [mailto:MHammond@skippinet.com.au]
> >=20
> >=20
> > Karl Putland wrote in message=20
> > <7m9to7$6qg$82@rks1.urz.tu-dresden.de>...
> > > For a COM server implemented in python, can a type library=20
> > be generated?
> >=20
> > No, but nearly :-) Python has the framework and even some
> > "proof-of-concept" code, but isnt done.
>=20
> Err.. Mark means from within Python. That's not to say you can't build =
a
> type library using an IDL file and MIDL.
>=20
> Here's an example for the Python.Interperter COM server that exists in
> win32com\servers\interp.py.
>=20
> Unfortuantely, Python.Interpreter needs a slight change inorder to =
write an
> IDL file.
> Replace the _public_methods_ line with:
> _dispid_to_func =3D { 1 : Eval, 2 : Exec }
> A matching IDL that should work is attached below:
> (As an added bonus, this should actually work)
> The only GUID from interp.py is the coclass one. Every other GUID was =
just
> generated.
> Hope the below helps.... The MIDL docs in MSDN are certainly less than
> useful. :(
>=20
> // System idl include nonsense
> import "oaidl.idl";
> import "ocidl.idl";
>=20
> [
> uuid(EB048AA4-C2D1-11d2-855D-00C04F797DBA),
> helpstring("Python.Interepreter dispinterface")
> ]
> dispinterface IPythonInterpreter
> { properties:=20
> methods:
> [id(1)] HRESULT Eval([in] BSTR bstrExpression, [out, retval] VARIANT
> pvarReturnValue);
> [id(2)] HRESULT Exec([in] BSTR bstrExpression);
> };
>=20
> [
> uuid(60240FE4-C2D2-11d2-855D-00C04F797DBA),
> version(1.0),
> helpstring("Python.Interpreter Type Library")
> ]
> library PythonInterpreterLib
> {
> importlib("stdole32.tlb");
> importlib("stdole2.tlb");
>=20
> [
> uuid(30BD3490-2632-11cf-AD5B-524153480001),
> helpstring("Python.Interpreter COClass")
> ]
> coclass PythonInterpreter
> {
> [default] dispinterface IPythonInterpreter;
> };
>=20
> }
>=20
> Bill