с MQL4 взял стандартный код панели с элементами управления, переписал под себя. Проблема заключается в том, что к элементам панели нет доступа из функции onTick. Как решить эту проблема, например, получить текст из текстового поля панели?
Данный код выкидывает ошибку, что m_edit_tp1_price не определена.
Смотрим "Структуры, классы и интерфейсы".
У вас class есть, но он не доступен, и достучаться вы пытаетесь до приватной переменной.
class CControlsDialog : public CAppDialog { public: CControlsDialog(){}; ~CControlsDialog(){}; CEdit m_edit_tp1_price; }; CControlsDialog ControlsDialog; void OnTick() { string tp1=ControlsDialog.m_edit_tp1_price.Text(); }
с MQL4 взял стандартный код панели с элементами управления, переписал под себя. Проблема заключается в том, что к элементам панели нет доступа из функции onTick. Как решить эту проблема, например, получить текст из текстового поля панели?
Данный код выкидывает ошибку, что m_edit_tp1_price не определена.
Самый простой, но не совсем правильный, способ: сделать m_edit_tp1_price публичным. Сейчас он объявлен в секции privat, что дает к нему доступ только из самого экземпляра класса. А требуется секция public.
Ну а по-хорошему лучше добавить метод, который позволяет читать и записывать нужное значение в поле ввода.
Смотрим "Структуры, классы и интерфейсы".
У вас class есть, но он не доступен, и достучаться вы пытаетесь до приватной переменной.
ругается 'ControlsDialog' - undeclared identifier
с MQL4 взял стандартный код панели с элементами управления, переписал под себя. Проблема заключается в том, что к элементам панели нет доступа из функции onTick. Как решить эту проблема, например, получить текст из текстового поля панели?
Данный код выкидывает ошибку, что m_edit_tp1_price не определена.
ругается 'ControlsDialog' - undeclared identifier
Все там нормально. Проверьте еще раз. Вставил этот код, компилируется:
#property strict #include <Controls\Dialog.mqh> class CControlsDialog : public CAppDialog { public: CControlsDialog(){}; ~CControlsDialog(){}; CEdit m_edit_tp1_price; }; CControlsDialog ControlsDialog; void OnTick() { string tp1=ControlsDialog.m_edit_tp1_price.Text(); }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Данный код выкидывает ошибку, что m_edit_tp1_price не определена.