Перемещение данных вокруг классов и графического интерфейса - PullRequest
0 голосов
/ 05 августа 2011

Моя программа перемещает файлы из одной папки в другую сразу после создания. Файлы будут поступать примерно со скоростью 50 в секунду. Программа контролирует две папки и отправляет файлы из этих двух папок в определенные каталоги на компьютере.

Единственное, что я хочу разобраться - это ошибки, которые могут появиться. Я думал об использовании messagebox.show, чтобы дать пользователю знать, скажем, «папка не существует», но с 10000 или около того файлами, которые невозможно переместить, или если доступ к каталогам запрещен, компьютеру может просто не хватить памяти с 10000 всплывающих окон.

Альтернативой является просто отобразить сообщение пользователю на элементе управления GUI и остановить средство просмотра файлов. Проблема в том, что мой класс folderwatcher не может получить доступ к строке состояния в моем графическом интерфейсе. Поэтому, если строка состояния была названа сообщениями, я не могу просто назначить «messages.text» для сообщения об ошибке из исключения, сгенерированного в классе folderwatcher.

Мне также сказали, что плохой практикой является передача контроля над графическим интерфейсом классу folderwatcher, поскольку он отрицает цель объектно-ориентированного программирования. (что-то в этом роде).

Итак, я подумал о создании класса, который просто хранит данные / сообщения о состоянии. Мой графический интерфейс подключится к этому классу, а класс folderwatcher обновит его при возникновении ошибки. Когда это произойдет, мой графический интерфейс обновится, и messages.text покажет ошибку, которую должен увидеть пользователь.

Я думаю, что эта концепция будет работать достаточно хорошо, но я не уверен, с чего начать. Если вам понадобится какая-либо дополнительная информация, я буду рад предоставить ее, но мне нужны отзывы и советы / подсказки.

Кроме того, является ли мой метод создания отдельного класса, содержащего информацию, лучшим методом для передачи сообщений об ошибках между классом и графическим интерфейсом? или есть более простой способ сделать это?

С уважением,

tf.rz. Спасибо за вашу помощь! С благодарностью.

Ответы [ 2 ]

0 голосов
/ 10 августа 2011

Я подключил класс и GUI через другой класс, который содержит только одну строку и обработчик события.GUI подписывается на обработчик событий, и класс создаст экземпляр нового созданного класса и изменит строку.Когда строка изменится, графический интерфейс будет обновлен, и пользователь увидит сообщение.Спасибо всем, кто внес свой вклад!

0 голосов
/ 05 августа 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...