Login Page - Create Account

Support Board


Date/Time: Sat, 23 Jan 2021 14:11:57 +0000



[Sticky] - Advanced Custom Studies DLL Loading Management

[2021-01-02 07:01:53]
Sierra Chart Engineering - Posts: 93111 | Ending Date: 2021-04-05
Based on user feedback in particular this thread:
https://www.sierrachart.com/SupportBoard.php?ThreadID=58112

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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
Date Time Of Last Edit: 2021-01-03 01:52:08
[2021-01-03 00:51:34]
Sierra Chart Engineering - Posts: 93111 | Ending Date: 2021-04-05
This is now released in version 2216.
Sierra Chart Support - Engineering Level

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

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
[2021-01-04 16:11:34]
Sierra Chart Engineering - Posts: 93111 | Ending Date: 2021-04-05
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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
Date Time Of Last Edit: 2021-01-05 21:38:28
[2021-01-05 21:37:33]
Sierra Chart Engineering - Posts: 93111 | Ending Date: 2021-04-05
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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
Date Time Of Last Edit: 2021-01-05 21:37:41
[2021-01-05 21:50:26]
@sstfrederik - Posts: 367 | Ending Date: 2021-11-27
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: 93111 | Ending Date: 2021-04-05
This is good.
Sierra Chart Support - Engineering Level

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

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
[2021-01-06 09:18:54]
User869657 - Posts: 29 | Ending Date: 2021-04-24
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: 367 | Ending Date: 2021-11-27
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: 93111 | Ending Date: 2021-04-05
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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
[2021-01-06 10:33:50]
User869657 - Posts: 29 | Ending Date: 2021-04-24
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: 93111 | Ending Date: 2021-04-05
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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
[2021-01-13 18:58:06]
TedMar - Posts: 175 | Ending Date: 2021-07-04
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: 93111 | Ending Date: 2021-04-05
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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
[2021-01-13 23:32:44]
TedMar - Posts: 175 | Ending Date: 2021-07-04
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: 93111 | Ending Date: 2021-04-05
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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
[2021-01-14 15:58:59]
Ackin - Posts: 1514 | Ending Date: 2021-02-10
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: 93111 | Ending Date: 2021-04-05
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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
[2021-01-14 17:11:07]
Ackin - Posts: 1514 | Ending Date: 2021-02-10
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: 175 | Ending Date: 2021-07-04
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: 93111 | Ending Date: 2021-04-05
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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
[2021-01-22 01:51:34]
TedMar - Posts: 175 | Ending Date: 2021-07-04
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: 93111 | Ending Date: 2021-04-05
We are looking this over.
Sierra Chart Support - Engineering Level

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

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
[2021-01-22 13:24:16]
Sierra Chart Engineering - Posts: 93111 | Ending Date: 2021-04-05
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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
Date Time Of Last Edit: 2021-01-22 13:25:11
[2021-01-22 13:30:25]
TedMar - Posts: 175 | Ending Date: 2021-07-04
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: 93111 | Ending Date: 2021-04-05
The Data Files Folder:
https://www.sierrachart.com/index.php?page=doc/GeneralSettings.html#DataFilesFolder


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. If possible please keep your questions brief and to the point. Please be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

If your question/request has been answered and you do not have anything further, then it is easiest for us if you do not reply again to say thank you.
Date Time Of Last Edit: 2021-01-23 10:31:02
[2021-01-23 12:33:42]
TedMar - Posts: 175 | Ending Date: 2021-07-04
Test the latest prerelease. The folder is always now overridden in the case of custom study DLLs to be the Data Files Folder.

No differnce , Dll load / reload impossible :(
[2021-01-23 12:42:08]
@sstfrederik - Posts: 367 | Ending Date: 2021-11-27
Ted. You are using the release and allow load incorrectly.

When SC is running and you try to add a custom study all the dll’s in the data dir will be loaded by SC.

In this state you can not replace any dll’s.

You can release a single or all dll’s while SC is running. This will allow you to replace a dll file.

After that you can click “allow load” so your new study dll will be available when adding a custom study.

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

Login

Login Page - Create Account