<p>Am 10.01.2014 08:19 schrieb "leledumbo" <<a href="mailto:leledumbo_cool@yahoo.co.id">leledumbo_cool@yahoo.co.id</a>>:<br>
><br>
> I'm writing a web app hosting several tasks in FPC, however one of the task<br>
> is calling a function residing in a .NET dll. I've made a flat C interface<br>
> for the dll (so that I can call it from FPC easily), and it works just fine<br>
> IF the dll is somehow loaded first. Currently, I use a trick to debug my web<br>
> app from Visual Studio and makes the app calls the dll function. This<br>
> automatically bootstraps the CLR and as long as there's no update on the dll<br>
> my app would stay working. However, this is of course cumbersome. I wonder<br>
> if there's any way to load the dll without such a dirty trick.<br>
></p>
<p>There are basically two possibilities: adjust the .Net assembly to be hosted as a COM server, generate a TLB and use that to generate a interface unit for FPC. Please ask Google or the search engine of your choice for the first two steps.</p>

<p>The other possibility is to host the .Net runtime in your application. For this you can take a look at these links:<br>
<a href="http://www.codeproject.com/Articles/416471/CLR-Hosting-Customizing-the-CLR">http://www.codeproject.com/Articles/416471/CLR-Hosting-Customizing-the-CLR</a><br>
<a href="http://code.msdn.microsoft.com/windowsdesktop/CppHostCLR-e6581ee0">http://code.msdn.microsoft.com/windowsdesktop/CppHostCLR-e6581ee0</a><br>
The CLRCreateInstance function seems to be defined in mscoree.dll, so you'll need to import that.</p>
<p>I've not done this myself yet, but I hope it helps you.</p>
<p>Regards,<br>
Sven</p>