Philip Taylor wrote:
   "COM/ActiveX is out for many reasons."
Why? My undertanding is that the basis of COM is a C structure, I would have
thought it met your design requirement. I have implemented a couple of
components where the structure was more a C++ rather C style structure.

I am somewhat familiar with COM, having tried to come to grips with it before. COM seems unsuitable for several reasons:

Totally Windows dependent. I've seen Mozilla's XPCOM, but it seems really complicated to understand and build and use outside Mozilla. Really requires people to be into the "COM mindset". It's not just like writing some simple code -- only the code can be dynamically added to an application. You really have to grasp COM's whole philosophy to get going with it. My understanding of COM is that it requires objects to register themselves with the Windows registry before being accessible, and I think this is an abomination. I understand their reasons for it, but there are reasons I don't want my app polluting the user's system in that fashion. I also need something that can basically run right out of the box as an EXE without needing installation/uninstallation. I'm also not trying to implement RPC and inter-endian mixing, so COM's marshalling and such are overkill.

I'm thinking I may just do something myself, since I haven't found an existing solution the meets enough of my criteria. I'll probably adopt some of the low-level principles COM uses to make itself language-independent and such.

The advantage of COM is runtime linking - no need to distribute lib files -
just an include file to describe the interfaces returned by the factory
method and the actual DLL.

I'm looking at doing something similar, with late-binding using method name strings as opposed to IDL files and GUIDs and such.

Alternatively look at how OSG handles its plugins.

As I mentioned above, OSG's plugin design is suitable for OSG, but pretty much lacks many of the important criteria I'm looking for. Think of how 3dsMax breaks plugin compatibility everytime they release a new version, versus Photoshop which can run plugins written in the 3.0 era.

--
Chris 'Xenon' Hanson aka Eric Hammil | http://www.3DNature.com/ eric at logrus
 "I set the wheels in motion, turn up all the machines, activate the programs,
  and run behind the scenes. I set the clouds in motion, turn up light and 
sound,
  activate the window, and watch the world go 'round." -Prime Mover, Rush.
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to