Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Напишите для начала, какой тип программы. Эксперты и индикаторы инициализируются и деинициализируются по-разному.
это эксперт.
если кто-то из знатоков подскажет правильный ответ, буду признателен за науку.
но эту проблему решил сам, методом "практического тыка" )
у каждого поля CSpinEdit в методе Create была соответствующая функция, в которой стояла строка с присвоением значения по умолчанию, примерно такая
m_spin_edit_Value1.Value(10);
вот 10 и исчезала из поля при смене ТФ.
сейчас это место в функции выглядит так:
m_spin_edit_Value1.Value(10);
m_spin_edit_Value1.Value(11);
m_spin_edit_Value1.Value(10);
теперь значение 10 не пропадает... )
это эксперт.
если кто-то из знатоков подскажет правильный ответ, буду признателен за науку.
но эту проблему решил сам, методом "практического тыка" )
у каждого поля CSpinEdit в методе Create была соответствующая функция, в которой стояла строка с присвоением значения по умолчанию, примерно такая
m_spin_edit_Value1.Value(10);
вот 10 и исчезала из поля при смене ТФ.
сейчас это место в функции выглядит так:
m_spin_edit_Value1.Value(10);
m_spin_edit_Value1.Value(11);
m_spin_edit_Value1.Value(10);
теперь значение 10 не пропадает... )
очевидно потому-что ExtDialog был сделан глобальным объектом
CDialog ExtDialog;
void OnInit() { /* some code */ }
а так делать нельзя, если не хочется ловить глюков
чтобы такого не было - используйте указатели и сами управляйте созданием/удалением критичных объектов.
CDialog *ExtDialog=NULL;
void OnInit() { ExtDialog = new CDialog(); }
void OnDeinit() { if (ExtDialog!=NULL) delete ExtDialog ; ExtDialog=NULL; }
тогда 1) вы сами всем управляете и выставляете нужные значения 2) можете контроллировать когда разрушать объект, а когда нет (например при смене ТФ можно не удалять)
очевидно потому-что ExtDialog был сделан глобальным объектом
CDialog ExtDialog;
void OnInit() { /* some code */ }
а так делать нельзя, если не хочется ловить глюков
чтобы такого не было - используйте указатели и сами управляйте созданием/удалением критичных объектов.
CDialog *ExtDialog=NULL;
void OnInit() { ExtDialog = new CDialog(); }
void OnDeinit() { if (ExtDialog!=NULL) delete ExtDialog ; ExtDialog=NULL; }
тогда 1) вы сами всем управляете и выставляете нужные значения 2) можете контроллировать когда разрушать объект, а когда нет (например при смене ТФ можно не удалять)
спасибо, подумаю.
воспроизвел ваш код в своей программе.
теперь при смене ТФ программа закрывается автоматически...