MIH8
- ago
This feature request is the result of the discussion https://www.wealth-lab.com/Discussion/Developing-and-Trading-at-the-same-time-8181

Having a running instance will lock dll files in the main folder of WL.
A VS project that uses WL main folder as output folder can not overwrite an existing dll.

The point why the WL main folder is choosen as output folder is, that WL loads these dlls at startup.
This allows the "Edit and Continue" mechanism when debugging and developing code for WL.

To keep this mechanism WL needs to load a dll at startup. At the same time a dll is created when compiling and starting WL from VS. To bring it together, VS can only create a file with an existing file name in another folder (due to the dll in the main folder is currently in use).
The dlls included in the (requested) working folder need to be loaded by WL when it is started from VS.

This will result in a priority load. Dlls with the same file name will be loaded from the working folder. This will work around the write protection in the main folder and enables a second instance to be started from VS IDE. You can work on the project with "Edit and Continue" this way as usual.

To force WL to load only from its main folder, just clean the working folder.
This will be the price for the developer to keep the VS dev advantages when using a second WL instance.

Finally this allows developing during the trading hours on a single machine.
Usually one instance is running for trading.

Happy coding
3
532
2 Replies

Reply

Bookmark

Sort
- ago
#1
Unless you start the dev build from a different Windows account, how about the conflicting WL settings in the two instances inevitably sharing the same user data folder? Should you change them and these changes get saved by either instance. Hmm we may need a priority load of two WealthLabConfig.txt (just kidding).
0
MIH8
- ago
#2
Since I just read a new thread on this topic I would like to make a note.
(https://www.wealth-lab.com/Discussion/Custom-DLLs-and-Debug-vs-Release-8557)

Although the described approach offers a solution possibility, I think that if the option is given, a second computer should be used for trading. Depending on the workspace or the fact if a second computer is available will of course directly affect this possibility.

In backtest mode, where one instance may be busy with evolving/optimization or other tasks, it would be quite attractive to be able to launch a second instance from the IDE to develop and test code. (on one machine)

All in all, I now think that there are many other points to improve the software that would add more value (Memory Management, ASCII Data Management and Usage, some other points which would make the software more robust and faster).
0

Reply

Bookmark

Sort