On Monday, 13 June 2016 at 19:26:08 UTC, Incognito wrote:
On Monday, 13 June 2016 at 19:11:59 UTC, John wrote:
On Monday, 13 June 2016 at 17:38:41 UTC, Incognito wrote:
Cool. Oleview gives me the idl files. How to convert the idl
files to d or possibly c?
Would I just use them in place of IUnknown once I have the
interface?
In OleView you can save the IDL file, then run another tool,
midl.exe, on the IDL file. That will generate the C headers.
But you'd then have to translate that to D by hand.
I have written a tool that takes a COM type library and
automatically converts it to a D source file. I could finish
it off over the next few days and put the source on GitHub if
you're interested.
That would be great! With it I might be able to put a nice
wrapper around Photoshop for use with D. Others mind find it
useful too as other programs still use COM.
It's up: https://github.com/jsatellite/tlb2d/tree/master/src/tlb2d
There's probably a few bugs, and type libraries have a tendency
to re-define existing types so you'll have to comment those out.
Also it doesn't generate dependencies, but it does list them at
the top of the generated module so you can run the tool on those
type libraries manually.