Login Page - Create Account

Support Board


Date/Time: Fri, 25 Sep 2026 01:38:27 +0000



Setting study DLL module function objects to indicate DLL is not loaded

View Count: 24

[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
[2026-09-25 00:39:32]
Sierra_Chart Engineering - Posts: 24970
We are checking on this.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, use the Teton service:
Sierra Chart Teton Futures Order Routing
[2026-09-25 01:20:06]
Sierra_Chart Engineering - Posts: 24970
We are not able to reproduce this. We used the source code you gave above. The name of the source code file is TestDLL.cpp.

And this is the generated file name:
TestDLL_64.dll

This DLL did show up in the Add Custom Study window and we could add the study to the chart.

Look in your Data Files Folder:
General Settings Window: Data Files Folder (Global Settings >> General Settings >> Paths >> Files and Folder Paths)

What are the files that you see that begin with TestDLL?
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, use the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2026-09-25 01:36:05

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account