RE: COM ON!!! ... OLE!!! AYE CARRAMBA!!

new topic     » goto parent     » topic index » view thread      » older message » newer message

> -----Original Message-----
> From: Mike The Spike [mailto:mtsreborn at yahoo.com]
 
> I understand your enthousiasm Matt,
> but I was just like you when I first started out
> designing a COM wrapper for Eu...
> "It's not that hard.. Can be done...", but you'll seee
> that the more you work on it, the more you understand
> that it's just way out of reach to add COM support to
> a multiplatform interpreted functional language wich
> doesn't support it natively.

I'll let you know.

> The thing that I hated the most, was the issue of
> having to create, once again, a crapload of wrapper
> libraries for each COM service you want to use.
> Setting up the GUIDs and declaring the interfaces for
> something like Direct X is no easy task...
> Expect porting some 6,000 lines of C++ code to
> Euphoria for DX alone...

I can appreciate that.  But where did you actually stop?  Were you
successful in hooking up to COM, and just didn't want to wrap the DX
interfaces?  Or did you give up before you figured out how to use COM?

> That's why I'm for better Eu-To-C interfacing, ie.,
> you do this;
 
> import d3d.h
> 
> And you're all set.
> 
> All the defines/constants are imported by Eu, and so
> are all the function prototypes.

In the meantime, I'll look forward to this, and keep working on my COM
wrappers.

> - How will you do this in Eu?
>   Do you even know what the IDirect3DRM variable looks
> like?
> Wanna search through Microsoft's DX code-base trying
> to figure out?

Off the top of my head?  No.  But that doesn't really mean anything.  I
*think* I can get the details on an interface using IDispatch, which is
documented on MSDN.  It's still up to you to figure out what to do with with
interface, but that's nothing new (you'd have to do this in C++).  

I found a couple of interesting COM tools (d/l'd from cnet or somewhere).
One generates a .chm file that documents all the properties and methods of a
COM object, and one is usefull in looking up CLSID's and IID's and such.
This leads me to believe that it's very possible to write an automatic
wrapper for virtually any COM object, and right now, I think that the
IDispatch interface is the way to do it.
 
> I'm a man that tells it how it is.
> For example, I don't like crappy wrapper-DLLs.
> Why?
> Because they're crappy to ship with your product, you
> didn't code it but some hobbiest did, and for
> portability, it's a major blockage.
> What if my code checks to see wich platform it runs
> on, if DOS, use Software rendering, if Win32, use DX.
> Should people that wanna run my code in DOS worry
> about that DLL required for Windows?
>
> I just don't like it all..
> Otherwise, it would take me 3 hours to port DX8 to
> Euphoria with a wrapper DLL.
> I'd just turn the DX C macros to functions, and export
> them.
> No need for COM then, just raw function calls.
> But I don't wanna do this, cos I don't like it.
>
> Why am I talking about DX so much?
> Because lets face it, who ever worried about COM or
> even looked at it if it weren't for DX?
> And nope, DX is not Windows-only.
> The X-Box will use it, an extremely powerfull
> videogame console from Microsoft.
> Even the Dreamcast supports a Direct X version.

Well, it seems to me there are lots of things that COM allows you to do.
For instance, OLE.  Maybe this isn't very useful in games, but if I could
use Eu to do things with Access or Excel, for instance, I would be very very
happy.  <flamesuit on>Not to mention that we could use ActiveX
objects.</flamesuit on>

I don't know how much overhead things like Exotica really add to using DX,
but as for shipping DLL's with an app, I can't remember the last thing I
installed that didn't have a few of those.  If you don't like 'em, that's
OK, but I don't think anyone will be upset with you if you do.  And unless
they're really large, it's unlikely that anyone would complain about the
disk space taken up by something like that.

Matt Lewis

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu