Ошибки, баги, вопросы - страница 1500

 
coderex:

Перед тем как работать с графиком, его нужно привязать к объекту класса методом Attach !!! Если не хотите работать с текущим чартом ( 0 ) то реализуйте у себя эту проверку и запрет на использование в работе текущего графика.

И что значит поработать с графиком и не закрыв его методом Detach выйти? Неужели трудно написать одну строчку в деструкторе своих классов либо в OnDeinit ? Работу с объектами нужно строго контролировать, тогда и ошибок избежите.

Тоже самое могу посоветовать и Вам. Перед тем, как работать с графиком, его нужно привязать к объекту класса методом Attach(). Если Вы хотите работать с текущим графиком, используйте метод Attach( void ). Если Вы получили id графика ранее, используйте метод Attach( chart ). А, если же Вы хотите работать с новым графиком, вот тогда используйте метод Open(). И используйте этот метод только и исключительно для открытия нового графика и последующей работы с ним.

Работать с графиком, не закрыв его, это значит забыть вызвать метод Detach(). В совокупности с ошибкой открытия - результат - закрытие чужого графика. Не хорошо!

Вот Вы пишите интересно. Что-то не нравится, сделайте проверку там, добавьте туда и давайте будем жить, как жили раньше. Я могу вообще свою библиотеку написать, думаю, также как и Вы. А зачем, если за нас уже работу сделали? Давайте улучшать то, что есть, а не придумывать костыли. Хорошо, что разработчики быстро меня услышали и внесут нужные изменения. 

 

Как вы не поймете, вы просите разработчиков убить возможность работы с текущим графиком. Если не хотите контролировать правильно процесс создания, работы и удаления объектов, то перегрузите сами метод Open как вам предложили разработчики.

По сути когда вы создаете объект класса, то все его поля инициализируются нулями, это ведь не чистый С++ где принудительно нужно все занулять после создания.

А вы создав объект класса, поработав с ним, просто бросаете объект на удаление, не отвязав чарт от объекта класса. А разработчики сейчас изменят метод Open, и назревает вопрос, а на кой тогда был создан перегруженный метод Attach?

Разработчики, убедительная просьба, прежде чем внести данные изменения, подумайте о том, что ломаете собственную идеологию работы со стандартной библиотекой.

 
coderex:

Как вы не поймете, вы просите разработчиков убить возможность работы с текущим графиком. Если не хотите контролировать правильно процесс создания, работы и удаления объектов, то перегрузите сами метод Open как вам предложили разработчики.

По сути когда вы создаете объект класса, то все его поля инициализируются нулями, это ведь не чистый С++ где принудительно нужно все занулять после создания.

А вы создав объект класса, поработав с ним, просто бросаете объект на удаление, не отвязав чарт от объекта класса. А разработчики сейчас изменят метод Open, и назревает вопрос, а на кой тогда был создан перегруженный метод Attach?

Разработчики, убедительная просьба, прежде чем внести данные изменения, подумайте о том, что ломаете собственную идеологию работы со стандартной библиотекой.

Давайте общаться на примерах. Ваши голословные обвинения начинают надоедать. И с чего Вы взяли, что Ваш, на мой взгляд, в корне ложный подход - правильный?

А вы создав объект класса, поработав с ним, просто бросаете объект на удаление, не отвязав чарт от объекта класса. А разработчики сейчас изменят метод Open, и назревает вопрос, а на кой тогда был создан перегруженный метод Attach? 

Про метод Detach() отдельный разговор. Сейчас мы обсуждаем то, что Open() может навязать работу с текущим графиком, причем неявно! Для этого есть метод Attach(). Кто и что убьет при корректировке метода Open() не понятно...
 
Slawa:

А как можно поменять GMT? "Это ведь памятник!" (ц) GMT это Greenwich Mean Time

Хахаха...

Вы такой остроумный.

 

 
Alexey Kozitsyn:

Давайте общаться на примерах. Ваши голословные обвинения начинают надоедать. И с чего Вы взяли, что Ваш, на мой взгляд, в корне ложный подход - правильный?

Про метод Detach() отдельный разговор. Сейчас мы обсуждаем то, что Open() может навязать работу с текущим графиком, причем неявно! Для этого есть метод Attach(). Кто и что убьет при корректировке метода Open() не понятно...

Вы думайте что хотите, но эти строчки кода в предлагаемом обновлении метода Open:

   if(m_chart_id==0)
      m_chart_id=-1;

 изменят поле m_chart_id содержащее ID чарта на -1, если чарт будет текущий т.е. ( 0 ), какие тут могут быть голословные обвинения, да и не обвиняет вас ни кто, вы что то попутали. Не хотите писать согласно идеологии заложенной в стандартной библиотеке, перегрузите методы которые считаете, что работают не так как вы хотите. Я понимаю, если бы класс был интегрирован в какой нить общий механизм как к примеру семейство классов панелей управления, где некоторые методы невозможно перегрузить из-за участвующих в них полях, находящихся в приватной секции класса. Но тут класс простой, его поведение вы в состоянии сами изменить. А вот если разработчики изменят метод Open как написали выше, то метод Attach() будет не понятно зачем, ведь им привязывается как раз текущий ( 0 ) график. Т.е. при последующем вызове Open, мы получим m_chart_id == -1 думаю тут и без примеров все ясно.

Мне по сути это проблем не создаст, добавлю просто строку в OnInit получающую ID текущего чарта и привяжу чарт к объекту класса методом Attach(long chart), но у кого то из разработчиков кто не читает эту ветку, могут возникнуть непонятки и "нежданчики".

 
Есть ли способ скопировать переменные с ех4 файла?
 
Vasyl Nosal:
Есть ли способ скопировать переменные с ех4 файла?
сохранить сет файл - я так всегда делаю 
 
Vladislav Andruschenko:
сохранить сет файл - я так всегда делаю 

:)) 

Нельзя. 

В mq4 файлах можно. 

(индикатор) 

 
Vasyl Nosal:

:)) 

Нельзя. 

В mq4 файлах можно. 

(индикатор) 

 

Темплейт? А типа данных там нету. 

 
тогда только темплейтом