Support Board
Date/Time: Fri, 31 Jan 2025 03:03:59 +0000
Post From: tell SC not to load a DLL in Data/?
[2019-04-02 12:30:34] |
uM8137 - Posts: 183 |
I've made a test .DLL that will in the future contain my compilation of my external trading-computation library. Let's call it bigcode.dll. I'm generated bigcode.lib to link against my bigcode.dll. Now bigcode.dll is not an ACSIL DLL, it just contains my own library functions that I want to invoke from an ACSIL DLL. Then I made a ACSIL DLL called client.dll, and linked it against the bigcode.lib. This went fine at Visual Studio local compile/link time. I place both client.dll (the ACSIL) and its dependencies bigcode.dll into C:\SierraChart\Data However, the problem is: when I go to Add Custom Study, SC will scan my bigcode.dll and hang. Presumably it hangs because bigcode.dll is not an ACSIL DLL, without the required entry point functions scdll_DLLVersion() and scdll_DLLName(). So Windows will always look for DLLs c:\Windows\System32, so if I move bigcode.dll to C:\Windows\System32, then SC doesn't choke on scanning \Data for DLLs, and client.dll loads fine, and locates its dependency in C:\Windows\System32. But its kind of nasty to pollute C:\windows\system32 this way (shudders, cringes). Is there a way to tell SC to not bother (or at least not hang) if a .DLL in the Data\ directory doesn't have scdll_DLLName() etc? Or is there a way to mark the .DLL as "should be ignored, I am not an ACSIL DLL!" ? Or if there was a subdirectory of C:\SierraChart where I could put bigcode.dll where the dynamic loader would still find it, that would be fine too. Please advise. Thank you. Date Time Of Last Edit: 2019-04-02 12:32:44
|