Modern COM Programming in D

Lionello Lunesu lio at lunesu.remove.com
Wed Jan 25 19:50:34 PST 2012


On 26-1-2012 4:50, Jesse Phillips wrote:
> On Tuesday, 24 January 2012 at 17:08:01 UTC, Lionello Lunesu wrote:
>> Little over a year ago I held a tech talk at Microsoft about how I
>> used D to write readable COM code. A while back I thought I'd try to
>> get permission to share these slides, and what'dya know:
>>
>> http://lunesu.com/index.php?/archives/126-Modern-COM-Programming-in-D.html
>>
>>
>> Direct link to the slides:
>> http://lunesu.com/uploads/ModernCOMProgramminginD.pptx
>>
>> Let me know what you guys think!
>>
>> Lionello.
>
> I have some questions related to this.
>
> One, do you know about Juno?
> http://www.dsource.org/projects/juno
> New Source location:
> https://github.com/he-the-great/Juno-Windows-Class-Library

Hadn't heard of it, no. Checking it now.

> Two, how does your work compare? Are these improvements that could go
> into Juno?

My code is a template that generates wrappers for COM interfaces. Sure, 
that template can be part of any related library, but the prerequisites 
probably make it too niche to be universally useful. For one, it needs a 
D-style interface definition for the COM interfaces.

> Three, you may be interested to know about tlbimpd:
> http://www.dsource.org/projects/juno/wiki/TypeLibraryImporter
>
> I revived the project for D2, but Richard Webb has actually done the
> work to make it usable. Wondering if effort on this could be
> consolidated and as brought up in the reddit comments maybe work could
> go towards WinRT support?

Hmm, this would work beautifully! tlbimpd could be extended to generate 
the same kind of wrappers for each COM object/interface.

About WinRT... That's actually how my code started out. There are still 
some WinR Treferences in the slides that I should have removed. Anyway, 
now that WinRT is 'out in the open' that's no longer an issue. So, yes, 
the same trick works for all of WinRT.

> Great presentation material though. Thank you for having done so.

Thanks!

L.


More information about the Digitalmars-d-announce mailing list