[CLOSED] : Compiler bug with template parameter = void* - page 13

 
Alexey Navoykov:

So far, I have only made automatic scrolling of the log at the end of compilation to the beginning of the first error (if any). Without it, I had to constantly manually scroll through the list (and it's not small), looking for the error message. What a pain in the ass.

There is also Autoscroll (right mouse button) - uncheck

 

Ilya Malev:

And for more down to earth tasks, this number indicates the number of objects created in the system and is useful for debugging in any dynamic list based architecture. Not surprisingly, I'm not the first who figured out how to "cheat" the ban on getting it, and I've even been told a faster way, though only for 4.

Well, I've always claimed explicitconversion of pointer to long is useful. But Developers didn't understand the usefulness and removed it. I have a slightly different way - I will not write which one, otherwise it will be closed too
 
A100:
Well, I've always claimed that explicitconversion of pointers to long is useful. Developers didn't understand the usefulness and removed it. I have a slightly different way - I will not write which one, otherwise it will be closed too

Please write to me on the PM or on my email, if it's not too much trouble, I won't impose myself. I am really interested in this, on the forum will not show.

P.S. Although if you include dll then do not, because the disadvantages of this solution more than the pros.

P.S.S. If you think about it, the loophole with PrintFormat and StringConcatenate was left consciously, otherwise it's hard to imagine why they left it. They must have seen that they did it. So, there was no purpose to overlap all the methods and you need not to worry about it.

After all, it's just a number. Being able to figure it out poses no threat to data security and integrity, because neither changing it nor using it in some "special" way after receiving it is impossible anyway, and it's not even a reference to a memory area, but a simple stack counter. It was probably not this number that was closed, but the second int specifically, which could well already point to a real memory space, etc. But we don't need it for all these purposes.
 
A100:

And there's also Auto Scroll (right-click) - uncheck

Hmm, indeed, now it works correctly. Just I made for old builds, there it worked incorrectly, scrolled not to the very first error, but somewhere in the middle. I endured a long time, but then my nerves failed ) Turns out, I could be patient - and would not have to re-invent the wheel )
 
The numeric value of a pointer can be useful when storing an array of pointers. You organise an orderly arrangement of them with quick access by its value. Otherwise you have to go through the whole array looking for the right pointer.
 
Alexey Navoykov:
Hmm, it does work correctly now. I just made for old builds, there it worked wrong, scrolled not to the very first error, but somewhere in the middle. For a long time I endured, but then my nerves failed ) It turns out, could be patient - and would not have to reinvent the wheel).

You should get a medal for that. I got nervous at the end of the first week, at the end of the second week I found the right button

 
A100:

You should get a medal for that. I got nervous at the end of the first week, and at the end of the second week I found the right button

So before everything was fine. now specifically checked on different builds, this bug started with 1550 build, and lasted for many builds. No button could help you there )
 
Alexey Navoykov:
So it was fine before. now i specially checked on different builds, this bug started with 1550 build, and lasted for many builds. No button could help you there )
And in MT5x32 everything was stable. At least, I have not noticed the inconvenience, and I should have noticed it, because there are a lot of errors and it would have been very problematic to get to the error
 
Ilya Malev:
And for more mundane tasks - this number indicates the number of objects created in the system and is useful for debugging in any architecture based on dynamic lists. Not surprisingly, I'm not the first one who's figured out how to "cheat" the ban on getting it, and I've even been told a faster way, though only for 4.

I would like to attach VS form to .dll to MT5 in a simple way )))) - I want to wrap the button click handlers in a class and call them by traversing a pointer array of handler functions, and I want to have in the main EA code the possibility to write the same function names as in VS, i.e. button2_Click() ....button2_Click()

SZS: The problem is fromthe EOP area)))


For the sabotage, last 3 pages we have been discussing the expediency of putting many brackets or not, imho, the compiled code performance is not affected by a large number of brackets, but the programmer clearly defines the arithmetic/logic expression calculation sequence, which will not change during MT updates, nor will it change during code porting to other programming languages - that is, if we are not lazy and are very responsible for the final result, we put a lot)))

Еното-ориентированное программирование
Еното-ориентированное программирование
  • habr.com
По английски units это units, а по сербски = енот. Желающим написать, что слова "амбула" нет, я его дарю. Благодать Спорьте = не спорьте, в большинстве, обычные люди хотят себя чувствовать хорошо = стремятся к благодати: есть, двигаться, обладать… программировать. Физиология Программировать кайфово. Во время удачного программирования...
 
Igor Makanu:

As for the subject, last 3 pages discuss the expediency of putting many brackets or not, imho, the performance of compiled code is not affected by a large number of brackets, but the programmer clearly defines the sequence of arithmetic/logical expression calculations, which will not change during further updates of MT, and will not change when porting code to other programming languages - that is, if we are not lazy and very responsible for the final result, we put many brackets ) )))

And why don't you put them yourself? I didn't take the trouble to look through your profile:

  if (totsell==0 && totbuy==0)

It's supposed to be like this:

  if ((totsell==0) && (totbuy==0))

You declare one thing, but you do the exact opposite.

If even adherents of brackets do not put them themselves - this is the best proof of their uselessness