Hello
The memory usage of a workspace is always increasing up to a point where I receive message of memory overloading from MC when the 1GB target is reached. It look like a memory leak from my indicator.
This workspace as an indicator that is used to send 8 strings of data to Excel. The strings are composed from Global variables data collected from 7 others workspaces.
I got many workspaces opened, only one is communicating with Excel, the other one are slaves and their data are sent to global variables. The master indicator, read global variables , compose strings and send them to Excel.
It work fine, but at least once per session, i need to close the master workspace ( with the Elexcel indicator) because the memory usage of it cause an alert for a potential memory overload.
What is most likely causing a memory leak
- Writing to Excel cell using Elexcel **
- Reading from a global variables
- Writing to a global variables
** Writing to excel is done for every new bar in any of the slave workspace
I can't move to MC 64 because I did not succeed to understand how to wrote a dll to replace Elexcel and adapt global variable to send data for Excel 32.
Is there a way to liberate memory?
Any information or comments appreciated
Martin
Elexcel, Global variable: Memory overload problem
- Henry MultiСharts
- Posts: 9165
- Joined: 25 Aug 2011
- Has thanked: 1264 times
- Been thanked: 2958 times
Re: Elexcel, Global variable: Memory overload problem
Hello Martin,
We can give you a hand in this situation in case you have the source code of the dll.
We can give you a hand in this situation in case you have the source code of the dll.
Re: Elexcel, Global variable: Memory overload problem
Hello HenryHello Martin,
We can give you a hand in this situation in case you have the source code of the dll.
Thanks for the offer, but I don't have the source code for these.
I'm using ElXcel.dll and the regular Global variable from MC. All running under MC 32.
As mentioned. a workspace is loaded with one indicator. The loaded chart is Eur.Usd with a 8 minutes scale with an historical of 100 bars loaded.
This indicator is used as a master and is job is to communicate strings of data to Excel. The data are collected via Global Variable from others slaves indicators attached to other workspace.
My observation is the the master indicator see is memory utilization increasing much faster than the other one and at least 3 time per week, I need to close it after receiving the warning low memory from MC. I loaded it yesterday and now I'm already using nearly 900k of memory.
My indicator code is not using any other special dll others than does Elexcel and Global Variable.
Martin
Edit: I removed all Print comments that was used. Will see if it reduce the memory usage. Data was output for every data sent to Excel. Every tine a new bar is created in any charts using the slave indicator, a new string is sent to Excel
- Henry MultiСharts
- Posts: 9165
- Joined: 25 Aug 2011
- Has thanked: 1264 times
- Been thanked: 2958 times
Re: Elexcel, Global variable: Memory overload problem
Martin, unfortunately there is nothing we can help with without the source code of the dll.
Re: Elexcel, Global variable: Memory overload problem
I suppose that you have the source code for the global variable, since it is an MC integral part. Any known problem with memory usage using it?Martin, unfortunately there is nothing we can help with without the source code of the dll.
The other one is Elexcel, an open source dll to communicate with Excel with link available on this forum
Have a good day
Martin
- furytrader
- Posts: 354
- Joined: 30 Jul 2010
- Location: Chicago, IL
- Has thanked: 155 times
- Been thanked: 217 times
Re: Elexcel, Global variable: Memory overload problem
It would be really cool if someone could show how to write a very simple DLL using Visual Studio that is compatible with MultiCharts, either on a 32-bit or 64-bit basis.
I have done some experimenting with it, but quite honestly, I gave up because it's so hard to debug problems. The DLL will compile just fine in Visual Studio but then it won't load correctly in MultiCharts and I can't tell if the problem has to do with how the DLL is written or with how I'm invoking it in MultiCharts.
Help!
I have done some experimenting with it, but quite honestly, I gave up because it's so hard to debug problems. The DLL will compile just fine in Visual Studio but then it won't load correctly in MultiCharts and I can't tell if the problem has to do with how the DLL is written or with how I'm invoking it in MultiCharts.
Help!
Re: Elexcel, Global variable: Memory overload problem
Hello FurryIt would be really cool if someone could show how to write a very simple DLL using Visual Studio that is compatible with MultiCharts, either on a 32-bit or 64-bit basis.
I have done some experimenting with it, but quite honestly, I gave up because it's so hard to debug problems. The DLL will compile just fine in Visual Studio but then it won't load correctly in MultiCharts and I can't tell if the problem has to do with how the DLL is written or with how I'm invoking it in MultiCharts.
Help!
I found some information here, but I never succeed to wrote code in these language
Attached: How to create a dll ( extract from the site)
The site where i found it: http://www.powerbasic.com/files/pub/pbw ... -Bones.zip
Hope it help
Martin
- Attachments
-
- DLL, Where to Start.doc
- (107 KiB) Downloaded 211 times
- JoshM
- Posts: 2195
- Joined: 20 May 2011
- Location: The Netherlands
- Has thanked: 1544 times
- Been thanked: 1565 times
- Contact:
Re: Elexcel, Global variable: Memory overload problem
There's a thread about DLL Programming here. Look for Dru's examples and comments in that thread.It would be really cool if someone could show how to write a very simple DLL using Visual Studio that is compatible with MultiCharts, either on a 32-bit or 64-bit basis.
I have done some experimenting with it, but quite honestly, I gave up because it's so hard to debug problems. The DLL will compile just fine in Visual Studio but then it won't load correctly in MultiCharts and I can't tell if the problem has to do with how the DLL is written or with how I'm invoking it in MultiCharts.