Login Page - Create Account

Support Board


Date/Time: Thu, 25 Apr 2024 08:43:37 +0000



Advanced Custom Studies DLL Loading Management

View Count: 10412

[2021-01-02 07:01:53]
Sierra Chart Engineering - Posts: 104368
Based on user feedback in particular this thread:
v2195 recompilation...

And the fact that we have seen issues raised over time from custom studies developers with managing custom study DLLs for users with changing Sierra Chart versions that require custom study DLL updates, we realize we need to implement much more advanced loading of custom DLL studies.

In the next release, Sierra Chart will support more advanced DLL loading management.

This will be the format for a custom studies DLL file name:
Example: [DLLName]_[optional_4_digit_numeric_version][optional _64 suffix].dll

So you can install DLLs with different version numbers to match up with different Sierra Chart versions where there has been a change requiring an updated custom studies DLL built for that version or higher.

Sierra Chart will then search for all of the different files which match to a particular DLLName and examine the internal version number (not the version in the file name) of these files and load the appropriate one based on the particular Sierra Chart version the user is running.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2021-01-03 01:52:08
[2021-01-03 00:51:34]
Sierra Chart Engineering - Posts: 104368
This is now released in version 2216.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-01-04 16:11:34]
Sierra Chart Engineering - Posts: 104368
Regarding post #1, we have done another release, 2217.

The four digit numeric version number can now be any length. It can be one digit or as many digits as you want.

And since the internal version number of the DLL is what is used to determine what particular DLL to load, not this external version in the file name, it does not matter what the version number in the file name is. You can make that whatever you want for your own naming purposes. And it is optional.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2021-01-05 21:38:28
[2021-01-05 21:37:33]
Sierra Chart Engineering - Posts: 104368
If there is any feedback about the functionality described in this thread, not working as expected we would like to know. Or if it is working well, it would be good to know that as well.

We have only done basic testing.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2021-01-05 21:37:41
[2021-01-05 21:50:26]
@sstfrederik - Posts: 403
Done one basic test yesterday and the bare filename without version number gets precedence in loading when compiled in a newer version. All I need to reduce the number of files that are managed in automated downloads. This will save me a lot of time at my next update cycle. Great job.
[2021-01-05 22:16:56]
Sierra Chart Engineering - Posts: 104368
This is good.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-01-06 09:18:54]
User869657 - Posts: 31
Hi SC,

With version 2215, we have experienced the following : with only one DLL named "hello.dll", there is no issue and SC sees it i.e we can load the study via "Add Custom Study".

Copying that same dll and naming the copy "hello_64.dll", we can load the "hello_64.dll" but cannot load the original one, "hello.dll", which is still in the data folder.

Renaming the original one "hello_55.dll", i.e we now have "hello_55.dll" and "hello_64.dll", we can now load both.

We are asking this question as compiling via SC gives a DLL with "_64" in the name but some in our group compile via Visual Studio, and didn't have that naming convention. Will you keep this new convention going forward please ? Or can you please make sure that we can keep loading two dlls, one with and one without "_XX" ?

Many thanks.
[2021-01-06 09:32:12]
@sstfrederik - Posts: 403
Fyi. You can set the output file in VS with any _XX or any other naming convention. Should not be an issue.
[2021-01-06 10:21:19]
Sierra Chart Engineering - Posts: 104368
In the case of post #7, is one 32-bit and the other 64-bit:
"hello_64.dll"

"hello.dll"

What is the purpose of having two DLLs? If they are both 64-bit and essentially the same what does it matter if only one can be used?
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-01-06 10:33:50]
User869657 - Posts: 31
No, both are 64 bit. What we wanted to point out is that if you have two DLLs, one named "X.dll" and the other "X_64.dll", then you cannot load "X.dll" following the change mentioned in this thread
[2021-01-06 11:06:05]
Sierra Chart Engineering - Posts: 104368
Yes that is true. They will need to have some difference in the naming other than the _64 at the end.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-01-13 18:58:06]
TedMar - Posts: 189
What is the purpose of having two DLLs? If they are both 64-bit and essentially the same what does it matter if only one can be used?
i see problem now.
Example/reproduction:
3 studies: x1, x2, x3,

and now, 3 different DLLs include studies linked in DLL from 1 source path.
1.dll (x1, x2)
2.dll (x1, x3)
3.dll (x1, x2, x3)

BUG/PROBLEM : Only one last build (date) DLL visable in Custom SC .

If u build as last 1.dll u can not see studie x3 and 3.dll and 2.dll. Why im not use 3.dll only? Every Dll has diffrent user/premissions in Studies Access Control Panel.
Date Time Of Last Edit: 2021-01-14 00:00:59
[2021-01-13 23:03:51]
Sierra Chart Engineering - Posts: 104368
Are these the exact file names you are using?:
1.dll (x1, x2)
2.dll (x1, x3)
3.dll (x1, x2, x3)

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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-01-13 23:32:44]
TedMar - Posts: 189
Are these the exact file names you are using?:
NO

TedmarStudySet01.dll
TedmarStudySet02.dll
TedmarStudySet03.dll

A rename with "_" or 64 have no effect ...
Date Time Of Last Edit: 2021-01-13 23:39:13
[2021-01-14 01:52:11]
Sierra Chart Engineering - Posts: 104368
We see what the problem is. This will be solved in the next release.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-01-14 15:58:59]
Ackin - Posts: 1865
in the sc ver 2214
zyp sierra free2_M2_2151_64.dll
zyp sierra free2_M3_2151_64.dll

in the sc ver 2218-2219
zyp sierra free2_M.dll - Windows error code 127


It filtered me "2 and 3" after the letter M. From the previous text I understood that the dividing character should be "_xxxx_64" not a some number ...
[2021-01-14 16:59:06]
Sierra Chart Engineering - Posts: 104368
We are going to release version 2220 which will resolve 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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-01-14 17:11:07]
Ackin - Posts: 1865
We are going to release version 2220 which will resolve this.

SC2220 just feedback: All right now for me, thanks
[2021-01-21 22:01:36]
TedMar - Posts: 189
I have other problem, can not load any DLL when SC is running.

Example/reproduction:
1. move default UserContributedStudies_64.dll from SierraChart/data to SierraChart/data/tmp folder (this step is to skip error when SC block DLL for open, if "ALLOW DLLS Load" not works)
2. Start SC and open any Chart , select Study/Add Custom Study/ , normal is UserContributedStudies not visable . OK
3. Try to load DLL, Analysis > Builid Custom Studies DLL > Builid > Allow Load DLLs
4. Build > Realease Single DLL and Deny Load > Folder > data/tmp
5. select UserContributedStudies_64.dll and Click "open"

Message Log

Setting study DLL module function objects to indicate DLL is not loaded: C:\SierraChart\Data\tmp\UserContributedStudies.dll | 2021-01-21 22:55:17.887
Study DLL module not found for: C:\SierraChart\Data\tmp\UserContributedStudies.dll | 2021-01-21 22:55:17.887

Whats wrong?


SC not run in Safe Mode.

SC2222
Date Time Of Last Edit: 2021-01-21 22:38:12
[2021-01-22 00:35:35]
Sierra Chart Engineering - Posts: 104368
Regarding post # 19 it is not possible to use this folder for DLLs: Data\tmp\
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-01-22 01:51:34]
TedMar - Posts: 189
Regarding post # 19 it is not possible to use this folder for DLLs: Data\tmp\

no matter which Folder , reload any DLL from C:/Sierrachart/Data returns same Error.
[2021-01-22 09:43:24]
Sierra Chart Engineering - Posts: 104368
We are looking this over.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-01-22 13:24:16]
Sierra Chart Engineering - Posts: 104368
As we look again at post #19, what is the problem? Of course you are going to get the error you are because you are trying to use a DLL from a location which is not supported.

We are not understanding at all what the core problem is that you are having.

We have not identified any problem.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2021-01-22 13:25:11
[2021-01-22 13:30:25]
TedMar - Posts: 189
Of course you are going to get the error you are because you are trying to use a DLL from a location which is not supported.

which Folder is supported?

You can see problem here https://youtu.be/xXVLayK3KNQ
Date Time Of Last Edit: 2021-01-22 13:48:20
[2021-01-23 01:03:18]
Sierra Chart Engineering - Posts: 104368
The Data Files Folder:
General Settings Window: Data Files Folder (Global Settings >> General Settings >> Paths >> Files and Folder Paths)


Test the latest prerelease. The folder is always now overridden in the case of custom study DLLs to be the Data Files Folder.

One thing that we would like to do and eventually will get to, is to have a dedicated folder in Sierra Chart to contain DLLs.

Additionally, if the DLL wants to load other dependencies in subfolders, then certainly we can support distribution to those subfolders of files, and the DLL can discover its own location through the operating system and then load the necessary dependency modules.
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, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2021-01-23 10:31:02

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

Login

Login Page - Create Account