Support Board
Date/Time: Fri, 25 Sep 2026 01:38:05 +0000
Post From: Setting study DLL module function objects to indicate DLL is not loaded
| [2026-09-24 23:48:29] |
| User153286 - Posts: 70 |
|
This is not a coding/logic question, it is a process question with compile and load. I have successfully built numerous custom study's that compile, load and work as expected. But recently and seemingly out of the blue I get messages like this: 2026-09-24 17:06:05.085 | Setting study DLL module function objects to indicate DLL is not loaded: C:\SierraChart\Data\TestDLL.dll 2026-09-24 17:06:05.085 | Study DLL module not found for: C:\SierraChart\Data\TestDLL.dll I am using the Analysis -> Build Custom Studies DLL ->Remote Build - Standard feature of SC. I have Windows 11 with the most recent updates and I am on SC Version 2953 64-bit, Revision 58206 I get no complier errors, just the listed error in the message log. I have gone round and round with the help of Google Gemini to get to the bottom of this - deleting dlls, closing SC, rebooting laptop, changing name, etc... I have tried changing file name, dll name and study name, ensuring the naming nomenclature is as exactly as expected. Gemini compared a working study's code to the included test example finding no differences in the naming nomenclature. Furthermore even more strange is during all of this testing all my my other, existing studies compile, load and work without issue. It feels like I hit some internal limitation. All source code .cpp files are in the ACS_Source folder All DLLs get created in the Data folder All DLL's automagically get an _64 on the end before .dll, for example : TestDLL_64.dll Notice in the error, it's trying to load C:\SierraChart\Data\TestDLL.dll which has no _64.dll in its name Yet check this out, from one of the other studies that works just fine: 2026-09-24 17:06:38.289 | Setting study DLL module function objects to indicate DLL is not loaded: C:\SierraChart\Data\ChartTitle.dll 2026-09-24 17:06:38.290 | Unloaded DLL: C:\SierraChart\Data\ChartTitle.dll. Handle: 7ff9fdf90000 See this in the message log indicates I will be able to find said study in the Custom Study UI. ChartTitle is one that works just fine, it's dll does get the _64 stuffed in, SC indicates it is loading the non_64 name just like with the TestDLL study (see the above messages) yet with ChartTitle all works just fine where as with TestDll it fails. TestDLL is just an example of a very simple study that does not work spewing the Study DLL module not found for, yet the dll is built the same way. Futhremore, if I change it's DLL name from TestDLL_64.dll to TestDLL.dll (taking out the _64) it loads just fine and I find it in the Custom Study UI and works. If I leave the _64 in the name, which the is how the complier outputs the .dll, it fails. Any idea what's up? Is there some limit to the number of .dlls somewhere? I have 20 custom DLLs in the data folder, each with their own study, its just how I developed they quick and easy. The are no duplicate study names, versions, etc... Here is the TestDLL.cpp (the name is as used in ACS_Source folder), its really simple and don't really care what it does. I want to get to the bottom of why the compile, load process fails. // The top of every source code file must include this line #include "sierrachart.h" // For reference, refer to this page: // Advanced Custom Study Interface and Language (ACSIL) // This line is required. Change the text within the quote // marks to what you want to name your group of custom studies. SCDLLName("TestDLL") //This is the basic framework of a study function. Change the name 'TemplateFunction' to what you require. SCSFExport scsf_TestDLL(SCStudyInterfaceRef sc) { // Section 1 - Set the configuration variables and defaults if (sc.SetDefaults) { sc.GraphName = "Template Function"; sc.AutoLoop = 1; //Automatic looping is enabled. sc.Subgraph[0].Name = "Name"; sc.Subgraph[0].DrawStyle = DRAWSTYLE_LINE; sc.Subgraph[0].PrimaryColor = RGB (0, 255, 0); sc.Input[0].Name = "Float Input"; sc.Input[0].SetFloat(0.0f); return; } // Section 2 - Do data processing here } Date Time Of Last Edit: 2026-09-24 23:53:56
|
