Hmm...
I generated a C++ DLL from Visual Studio C++ v10.0, created a C function to export it (i.e. using extern "C" C++ syntax) and, sure enough, using a DLL Object from EFS works now. In version 7.9.x, this didn't work when you tried to use Visual Studio C++ 2003 to generate a DLL which would work with it through the EFS DLL Object (incompatible binary formats caused this). If you wanted to use Visual Studio C++, you had to use the old v6 (the pre .Net days of the compiler).
I suspected this would work for the following reason:
Somewhere between releases of v8.x and v10.x, the developers renamed js32.dll to jsVC8.dll. There's your hint: JavaScript (what EFS is built on top of) was compiled with the Visual Studio's C++ 8.0 compiler (I think that was like Visual Studio 2005's version). They apparently fixed whatever incompatibility existed between the DLL Object being able to correctly import C functions from the v8 and above .Net generation of Microsoft C++ compilers.
I'm pretty sure that eSignal did not announce this in any of their release notes so that's why I'm posting this. If I'm wrong, I stand corrected. [no doubt, I'm probably the last one from the 'developer peanut gallery' to find this out].
Note: for those of you reading this who do not have a C/C++ programming background on Windows, don't confuse the above with a .Net DLL. That's completely different. I'm talking about a strictly standard Windows unmanaged code DLL.
I generated a C++ DLL from Visual Studio C++ v10.0, created a C function to export it (i.e. using extern "C" C++ syntax) and, sure enough, using a DLL Object from EFS works now. In version 7.9.x, this didn't work when you tried to use Visual Studio C++ 2003 to generate a DLL which would work with it through the EFS DLL Object (incompatible binary formats caused this). If you wanted to use Visual Studio C++, you had to use the old v6 (the pre .Net days of the compiler).
I suspected this would work for the following reason:
Somewhere between releases of v8.x and v10.x, the developers renamed js32.dll to jsVC8.dll. There's your hint: JavaScript (what EFS is built on top of) was compiled with the Visual Studio's C++ 8.0 compiler (I think that was like Visual Studio 2005's version). They apparently fixed whatever incompatibility existed between the DLL Object being able to correctly import C functions from the v8 and above .Net generation of Microsoft C++ compilers.
I'm pretty sure that eSignal did not announce this in any of their release notes so that's why I'm posting this. If I'm wrong, I stand corrected. [no doubt, I'm probably the last one from the 'developer peanut gallery' to find this out].
Note: for those of you reading this who do not have a C/C++ programming background on Windows, don't confuse the above with a .Net DLL. That's completely different. I'm talking about a strictly standard Windows unmanaged code DLL.
Comment