www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Anybody using D's COM objects?

reply Walter Bright <newshound2 digitalmars.com> writes:
Any projects using AddRef() and Release()?
Jun 25 2013
next sibling parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 25.06.2013 20:29, Walter Bright wrote:
 Any projects using AddRef() and Release()?

Visual D uses COM quite a lot, but not the version from druntime because of http://d.puremagic.com/issues/show_bug.cgi?id=4092
Jun 25 2013
prev sibling next sibling parent "Tavi Cacina" <octavian.cacina outlook.com> writes:
On Tuesday, 25 June 2013 at 18:29:00 UTC, Walter Bright wrote:
 Any projects using AddRef() and Release()?

Just plans. I think on Windows would be the best way to integrate in a legacy code base, exposing COM objects from D. I hope the Juno COM server functionality still works (and will), even if the class allocators are deprecated in D2: https://github.com/JesseKPhillips/Juno-Windows-Class-Library/blob/master/ju o/com/core.d?#L3174 . On the client side, I try to integrate with Direct2D/DirectWrite which are COM based. I use a wrapper struct though (ComPtr!IFace), that invokes automatically AddRef/Release.
Jun 25 2013
prev sibling next sibling parent "Adam Wilson" <flyboynw gmail.com> writes:
On Tue, 25 Jun 2013 11:29:00 -0700, Walter Bright  
<newshound2 digitalmars.com> wrote:

 Any projects using AddRef() and Release()?

If you want to work against the new Windows Runtime, you'll need COM, and additional interface IInspectable. -- Adam Wilson IRC: LightBender Project Coordinator The Horizon Project http://www.thehorizonproject.org/
Jun 25 2013
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-06-25 20:29, Walter Bright wrote:
 Any projects using AddRef() and Release()?

Yes, DWT uses it for integrating with OLE. -- /Jacob Carlborg
Jun 25 2013
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 6/25/2013 1:43 PM, Jacob Carlborg wrote:
 On 2013-06-25 20:29, Walter Bright wrote:
 Any projects using AddRef() and Release()?

Yes, DWT uses it for integrating with OLE.

I emailed you some information about this today - if you didn't get it, please email me your correct email address. doob me.com looks fake :-)
Jun 25 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-06-25 23:06, Walter Bright wrote:

 I emailed you some information about this today - if you didn't get it,
 please email me your correct email address. doob me.com looks fake :-)

I have received your emails. Sometimes it's a good idea to have an email address which does not contain your real name, this is obviously not one of these cases. -- /Jacob Carlborg
Jun 26 2013
prev sibling next sibling parent "Daniel Murphy" <yebblies nospamgmail.com> writes:
"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:kqcnhc$1guv$1 digitalmars.com...
 Any projects using AddRef() and Release()?

Yes, for DirectX. I'm planning to ditch them once extern(C++) support is good enough though.
Jun 25 2013
prev sibling next sibling parent "Jakob Ovrum" <jakobovrum gmail.com> writes:
On Tuesday, 25 June 2013 at 18:29:00 UTC, Walter Bright wrote:
 Any projects using AddRef() and Release()?

I use it for the Microsoft Speech API (SAPI) backend for speech4d: https://github.com/JakobOvrum/speech4d The project hasn't had much time dedicated to it and is going to go through major changes, but COM for the SAPI is inevitable.
Jun 25 2013
prev sibling next sibling parent reply Manu <turkeyman gmail.com> writes:
--089e0115ef3ebac85104e00428a4
Content-Type: text/plain; charset=UTF-8

On 26 June 2013 10:45, Daniel Murphy <yebblies nospamgmail.com> wrote:

 "Walter Bright" <newshound2 digitalmars.com> wrote in message
 news:kqcnhc$1guv$1 digitalmars.com...
 Any projects using AddRef() and Release()?

Yes, for DirectX. I'm planning to ditch them once extern(C++) support is good enough though.

You don't think you'd use ARC with COM when it's available? Surely a language defined ARC that Walter is discussing would be a neat fit for COM, just as with ObjC? --089e0115ef3ebac85104e00428a4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">On 26 June 2013 10:45, Daniel Murphy <span dir=3D"ltr">&lt= ;<a href=3D"mailto:yebblies nospamgmail.com" target=3D"_blank">yebblies nos= pamgmail.com</a>&gt;</span> wrote:<br><div class=3D"gmail_extra"><div class= =3D"gmail_quote"> <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-= left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p= adding-left:1ex">&quot;Walter Bright&quot; &lt;<a href=3D"mailto:newshound2= digitalmars.com">newshound2 digitalmars.com</a>&gt; wrote in message<br> news:kqcnhc$1guv$1 digitalmars.com...<br> <div class=3D"im">&gt; Any projects using AddRef() and Release()?<br> <br> </div>Yes, for DirectX. =C2=A0I&#39;m planning to ditch them once extern(C+= +) support is<br> good enough though.<br></blockquote><div><br></div><div style>You don&#39;t= think you&#39;d use ARC with COM when it&#39;s available? Surely a languag= e defined ARC=C2=A0that Walter is discussing=C2=A0would be a neat fit for C= OM, just as with ObjC?</div> </div></div></div> --089e0115ef3ebac85104e00428a4--
Jun 25 2013
parent "Daniel Murphy" <yebblies nospamgmail.com> writes:
"Manu" <turkeyman gmail.com> wrote in message 
news:mailman.1459.1372208386.13711.digitalmars-d puremagic.com...
 On 26 June 2013 10:45, Daniel Murphy <yebblies nospamgmail.com> wrote:

 "Walter Bright" <newshound2 digitalmars.com> wrote in message
 news:kqcnhc$1guv$1 digitalmars.com...
 Any projects using AddRef() and Release()?

Yes, for DirectX. I'm planning to ditch them once extern(C++) support is good enough though.

You don't think you'd use ARC with COM when it's available? Surely a language defined ARC that Walter is discussing would be a neat fit for COM, just as with ObjC?

Sure, when/if
Jun 25 2013
prev sibling next sibling parent "finalpatch" <fengli gmail.com> writes:
On Tuesday, 25 June 2013 at 18:29:00 UTC, Walter Bright wrote:
 Any projects using AddRef() and Release()?

I use it in a pet project. ComObject is needed to manage callbacks. Was wondering how does the COM object lifetime management works but now I realise this is actually broken in the current version.
Jun 25 2013
prev sibling next sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Tuesday, 25 June 2013 at 19:22:05 UTC, Adam Wilson wrote:
 On Tue, 25 Jun 2013 11:29:00 -0700, Walter Bright 
 <newshound2 digitalmars.com> wrote:

 Any projects using AddRef() and Release()?

If you want to work against the new Windows Runtime, you'll need COM, and additional interface IInspectable.

Or any new Win32 APIs since Windows XP, as most of them are actually COM based. -- Paulo
Jun 26 2013
prev sibling next sibling parent reply =?UTF-8?B?U8O2bmtlIEx1ZHdpZw==?= <sludwig outerproduct.org> writes:
Am 25.06.2013 20:29, schrieb Walter Bright:
 Any projects using AddRef() and Release()?

I'm currently using it for Direct2D and Direct3D 9/10/11. Also, I have an MIDL -> D translator for WinRT and plan to make a "language projection" for it as well.
Jun 26 2013
parent =?ISO-8859-1?Q?S=F6nke_Ludwig?= <sludwig outerproduct.org> writes:
Am 06.07.2013 05:00, schrieb Andrej Mitrovic:
 On 6/26/13, Sönke Ludwig <sludwig outerproduct.org> wrote:
 Am 25.06.2013 20:29, schrieb Walter Bright:
 Any projects using AddRef() and Release()?

I'm currently using it for Direct2D and Direct3D 9/10/11. Also, I have an MIDL -> D translator for WinRT and plan to make a "language projection" for it as well.

Are there any recent bindings to D3D/D2D for D? I remember trying some from dsource a long while ago but it didn't work. How are you using D3D?

I'm using a modified version of the bindings project on dsource and recently hand ported some D2D 1.1 and D3D 11.1 headers to be able to target WinRT applications, but those are still pretty much untested (will happen in the coming days). I can merge my changes back to the bindings project and make a pull request once I have finished the WinRT stuff.
Jul 07 2013
prev sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 6/26/13, S=F6nke Ludwig <sludwig outerproduct.org> wrote:
 Am 25.06.2013 20:29, schrieb Walter Bright:
 Any projects using AddRef() and Release()?

I'm currently using it for Direct2D and Direct3D 9/10/11. Also, I have an MIDL -> D translator for WinRT and plan to make a "language projection" for it as well.

Are there any recent bindings to D3D/D2D for D? I remember trying some from dsource a long while ago but it didn't work. How are you using D3D?
Jul 05 2013