Pointer in mql4/mql5 aren't pointer as in C++.
Again, unlike C++, the variable hobject from the example above is not a pointer to the memory, it is a descriptor of the object.
I know online documentation is for mql5, but I suppose it's valid also for the new mql4 version :
Pointers can be declared on a local or global level; and they can be initialized by the empty value of NULL or by the value of the pointer of the same or inherited type. If the new operator is called for a pointer declared on a local level, the delete
operator for this pointer must be performed before exiting the level.
Otherwise the pointer will be lost and the explicit deletion of the
object will fail.
no problem, I wanted to doubt that MQs had implemented the garbage collector, because it is not easy task at all. If they did, they would not introduce the "delete" operator as mandatory. Releasing the heap after the script ends I consider axiomatic, otherwise the script could not be used by amateurs.
I myself do not have problem to adopt the delete operator, but I have problem to locate leaks in my code, because the only tool/info I have is the very generic message about bytes in the log. It sucks.
Edit: Just went through the link you gave me:
When deleteing the dynamic object using the delete operator, released memory is immediately returned back to the class memory pool. Memory manager releases memory back to the operating system immediately after exiting the following event handling functions: OnInit(), OnDeinit(), OnStart(), OnTick(), OnCalculate(), OnTimer(),OnTrade(), OnTester(), OnTesterInit(), OnTesterPass(), OnTesterDeinit(), OnChartEvent(), OnBookEvent().
The "delete" returns memory to the pool, and at the end of the event method it returns the pool to the operating system. No note that objects would be released anywhere without the "delete" until the script ends.
Old EX4 file does work... but DLL is broken. In a very narrow sense, it is true that all old EX4 files work. In a broader, more practical, real-life sense, it is not true.
Similarly, the change to the directory used by FileOpen() means that lots of things will stop working (e.g. https://www.mql5.com/en/forum/148772) and will need to be re-configured or even re-built. Again, the old EX4 file "works". But it does not work as expected.
I remember beta 563 build had been multi timeframe like MT5.
But final stage build 574 haven`t it.
Why did you remove this feature?
It is very useful.
When platform is restarted,all charts deleted is removed.
option-charts- save deleted charts to reopen checked.
While platform is working, charts deleted is saved.
but when it is restarted, all charts deleted is removed.
Closed positions and deleted pending orders can be displayed in the chart.
But trendline is always blue color.(default setting)
Yes, I can edit color.
But It is restored always.
Windows - drive not ready error.