Re[4]: Подвисание программы на непонятной ошибке
От: hima Украина  
Дата: 04.03.05 09:48
Оценка:
Здравствуйте, Grosheva Anna, Вы писали:

GA>Ошиблась малость. У меня класс,в котором таймер находится, не наследуется от визуальных компонентов. Поэтому Invoke не помогает.

Ты просто не для того вызываешь. Нужно вызывать Invoke() того контрола, который должен обновляться.

public class Manager {
    public MyForm frmMy {
        get {
            return this.p_frmMy;
        }
        set {
            this.p_frmMy = value;
        }
    }
    private MyForm p_frmMy;
    
    ....
    
    public ProcessCmds() {
        ...
        this.frmMy.Invoke(this.frmMy.dlgAction);
        ...
    }
}


За синтаксис не ручаюсь — писал прямо в сообщении, а смысл такой.

По предыдущему посту:
>Это колбэк таймера. В ProcessCmds могут вызываться куча разных методов с разных форм.
А зачем апдейтить интерфейс нескольких форм, если работаем всё равно с одной. Не проще апдейтить данные для интерфейса, а на OnActivated() каждой формы уже браться за интерфейс?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.