Login Page - Create Account

Support Board


Date/Time: Mon, 25 Nov 2024 12:53:24 +0000



Custom Dll compiled with Visual Studio not running on the other users' machines

View Count: 2789

[2014-01-29 11:32:14]
Viacheslav Malafeev - Posts: 88
Hi All,
I'm writing my ACSIL studies in Visual Studio 2012 and they work perfectly fine on my computer. But as soon as I send a dll to someone else, they can't open it - http://screencast.com/t/uqMa2wZI1R3s, and I have to recompile it using the built-in compiler. What could be the problem?

Many thanks,
Slava.
[2014-01-29 11:48:00]
ganz - Posts: 1048
Viacheslav Malafeev

SCDLLName("...") присутствует в коде?
Date Time Of Last Edit: 2014-01-29 11:48:17
[2014-01-29 11:50:16]
Viacheslav Malafeev - Posts: 88
да
[2014-01-29 15:43:16]
Sierra Chart - Max - Posts: 5730
To use Visual C++, refer to the instructions here:
http://www.sierrachart.com/index.php?l=doc/doc_VCExpress.php
Sierra Chart Support
Date Time Of Last Edit: 2014-01-29 16:21:14
[2014-01-29 16:23:35]
Sierra Chart Engineering - Posts: 104368
Most likely this is the result of Sierra Chart not being able to open the DLL file. Sometimes when transferring a DLL file from one computer to another, the file gets locked. And it needs to be unlocked. On the destination computer right-click on the DLL file and select Properties. There should be an option allowing the file to be unlocked or allowed. Something like that.
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
[2014-01-29 17:50:05]
Viacheslav Malafeev - Posts: 88
If it's because file is locked then why do the dlls that have been compiled in the built-in compiler work fine on a destination machine, while the ones compiled in the VS 2012 are not recognized properly?
[2014-01-29 17:59:36]
Viacheslav Malafeev - Posts: 88
What i have to do every time i finish coding is COPY the code from my VS project to an external editor and then compile it by SC which means that the CODE itself is fine
[2014-01-29 18:00:48]
Sierra Chart Engineering - Posts: 104368
This we do not know. We cannot say for sure what the problem is.

Could you send us the DLL file compiled with Visual C++ to support AT Sierra Chart.com.

Or you can privately attach it here.
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
[2014-01-29 21:12:03]
Viacheslav Malafeev - Posts: 88
This is the file
Private File
[2014-01-30 11:17:09]
Graham - Posts: 44
The machine you're trying to run the file on is not running SC on Wine or Crossover or some other platform?

I had exactly the same issue building a DLL within VS and tested on SC running Windows 7. As soon as I copied the file to the SC installation on my Mac (running crossover) I had to recompile using the built in compiler.
[2014-01-30 15:37:21]
Viacheslav Malafeev - Posts: 88
It's Windows 7/8.
[2014-01-30 16:57:30]
Sierra Chart Engineering - Posts: 104368
When we try to use this DLL file by going to Analysis >> Studies >> Add Custom Study, this is what we receive in the Message Log:
Error loading \Max CrossMarket.dll. Windows error code 126: The specified module could not be found.

We really are not sure why this would happen and this is going to be something caused by the Windows operating system or Visual C++.
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
[2014-01-30 17:42:03]
Viacheslav Malafeev - Posts: 88
Ok how about this one?
Private File
[2014-01-30 18:08:59]
Sierra Chart Engineering - Posts: 104368
We do get the same error message:

Error loading \Ehlers.dll. Windows error code 126: The specified module could not be found.

We really have no idea why this happens. You really would have to consult with Microsoft about it. Have you tried using Visual C++ 2010? This is what we use. There is no chance we would ever use a newer version. We really have given up on the junk from Microsoft and plan to be moving away from their development tools.

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: 2014-01-30 18:09:26
[2014-01-30 23:58:36]
onnb - Posts: 662
It might be a dependency issue. You can try seeing if this is the case using http://www.dependencywalker.com/
[2014-01-31 00:34:37]
Sierra Chart Engineering - Posts: 104368
Yes, this could be true. But we would think the error message would be different. This actually probably is indeed the problem.

You probably need to install the visual C++ 2012 redistributable package on the machines the DLL is used on. Or statically link the standard C++ Library into the DLL.
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
[2014-02-01 08:23:30]
Viacheslav Malafeev - Posts: 88
How do i statically limk a library?
[2014-02-01 16:36:46]
Sierra Chart Engineering - Posts: 104368
While the project is open in Visual C++, select Project >> [Project name] Properties. At the top of that window select Configuration >> All Configurations.

Select Configuration Properties >> C/C++ >> Code Generation >> Runtime Library >> Multithreaded. This will select the non-debug multithreaded static library for all of the projects including the debug project. If you want to use the debug version of the multithreaded library for the debug build, do not select All Configurations at the first step and then you need to configure the library for each project configuration. We are just trying to make this easy by avoiding these steps.

Also make sure you are not using MFC or anything like that in the project.
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: 2014-02-02 18:58:09
[2014-02-02 14:27:44]
Viacheslav Malafeev - Posts: 88
No Runtime Library Sub Menu in C/C++ menu - http://screencast.com/t/KkPLsFaOrm7
[2014-02-02 18:57:43]
Sierra Chart Engineering - Posts: 104368
It is under the Code Generation list. We see how we got confused by that with the way that that list works. When we selected Code Generation and then selected C/C++ later on, it still showed the same content.
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
[2014-02-07 21:44:07]
Viacheslav Malafeev - Posts: 88
Which one shall I choose out of these? http://screencast.com/t/VidH6zMtIx2T

Thanks
[2014-02-07 21:51:24]
Sierra Chart Engineering - Posts: 104368
Multithreaded /MT.
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

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

Login

Login Page - Create Account