From: Jan J. <je...@po...> - 2008-10-23 20:24:31
|
David Piepgrass wrote: > Hi, I would like to start using the COM module. How can I get a Windows > swig.exe that wraps to COM? > > Thanks for making it, Jan! I'm sure it will be very useful to me! > > By the way, since I am new to COM, can someone suggest a primer? And > what does one need to know in order to pass strings, floating-point, and > small structures (e.g. X,Y,Z points) between C++ and the COM interface? > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ Hi David, Sorry for the late response. There is no official build containing the SWIG COM module yet. I have prepared a snapshot build of revision 10893, in case that you want to give it a quick try. It is available here: http://tcs.uj.edu.pl/~jezabek/swig-com-r10893.zip Unfortunately it needs to be unpacked to c:\program files\swig, and the path is hardcoded at configure time. If this path is unacceptable to you then just drop me a note and I'll prepare another build (takes just a few minutes). The build is unofficial, but it should be pretty stable and feature complete. Regarding your other questions - if you use SWIG then you do not need to do anything special to handle strings and FP types. The string types are converted to BSTR - which is de facto standard in COM, and required for VB interoperability. FP types (float and double) are supported by COM and should work without problems. For structures - currently they are treated just like classes, so you get a getter/setter for each member. There is no support yet for treating them as 'value-types' (as one would say in C#), although it is one of my future goals. Still with the current approach you can manipulate structures in a natural way from languages supporting properties (VB, Delphi, probably many more). I know no primer on COM that I could recommend - all that I know about COM comes from various info picked up here and there in the last few years. I found the reference at MSDN quite useful, but as its name says it is more a reference than an introduction. It is available here: http://msdn.microsoft.com/en-us/library/ms680573(VS.85).aspx There is also an article that seems to be a general introduction to COM. I haven't read it, but maybe you'll find something interesting there: http://msdn.microsoft.com/en-us/library/ms877981.aspx Feel free to follow up with any questions you might have. Thanks, Jan Jezabek -- My GSoC 2008 development blog: http://jezabekgsoc.wordpress.com/ |