State of windows DLL support

rikki cattermole via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Apr 3 06:50:20 PDT 2016


On 04/04/2016 12:55 AM, Nicholas Wilson wrote:
> On Sunday, 3 April 2016 at 12:20:33 UTC, rikki cattermole wrote:
>> I'm just guessing context here.
>
> Oh. Needed functionality is in DLL. Need it in LV. Can't / don't know
> how to in LV. setting up a server for that functionality in D ( I/O to
> some power inverters DAQ ). set up a pipe /local host server to transfer
> data to LV.

Okay now I'm more awake, lets see what we can do.

The problem you're hitting is there is no real load/unload hooks by the 
looks of things.

Okay assuming DllMain is in fact being called correctly, you can 
initialize and unload D's runtime.
So you can build reloadable platform fairly easily there.

http://www.ni.com/white-paper/3056/en/

You'll need to test that you can in fact fully load/unload D's runtime 
more than once.
Unfortunately I don't think you can modify LabVIEW from D side.

I've done a bit of reading on how to make it so GetProcAddress returns 
whatever you want (runtime adding of symbols).
Simply put, do-able!

Example code: 
http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=116253


More information about the Digitalmars-d-learn mailing list