Hi,
I've compiled a DLL using D and intended to use it with a C# winforms app using P/Invoke. Everything works wonderfully as long as it is called from the main thread (at least I assume that it not being on the main thread is causing the issues). If I start a new thread and try using any function imported from the DLL the program will instantly crash. Debugging the winforms app with VS shows that it does indeed crash on that function call, but does not provide any more information. Further testing I did was writing a test DLL that basically just contained extern(C) export int TestMe() { return 5; }
and calling it in a new C# program: it worked fine until I put it in a separate thread.
I assume that this has something to do with D's GC? But I tried calling GC.disable() and nothing changed. Any help or insight would be appreciated.
Thanks in advance