Показать полную графическую версию : Обращения из класса в класс
blackeangel
04-06-2017, 15:11
В общем есть такая ситуация. Есть 2 класса - в первом находится форма с кнопочками, чекбоксами и прочими прелестями.
Во втором классе происходят все вычисления. Внимание вопрос: как заставить прогресс бар заполняться?
вызывать еще раз через
new Class1().progressBar1.setValue(30);
не вариант, так как создает еще один экземпляр формы.
И еще одна неприятность: метод во втором классе - статический.
Как быть то?
И еще одна неприятность: метод во втором классе - статический. »
А можно посмотреть на эти классы?
blackeangel
04-06-2017, 22:54
shisik, да пожалуйста, в них нет ничего такого
Я вижу 3 класса: Generator и его наследников Generater и Functions. progressBar1 определён в классе Generator как public, а значит существует и в его наследниках. Так что и откуда надо вызывать?
blackeangel
05-06-2017, 05:02
Из наследника Generater изменить значение прогресс бара, без вызова ещё одной формы.
blackeangel, странно, конечно. Зачем эти классы делать анследниками? Ну хорошо, попробуем. Что если в Generator добавить статический член
protected static Generator instance;
и в main сохранить в него созданный объект:
instance = new Generator();
А потом где нужно в наследнике вызывать метод установки прогресса:
instance.bar(30);
Только что будет вызывать методы наследников?
blackeangel
06-06-2017, 10:26
То что искал! Спасибо большое!)
blackeangel
06-06-2017, 16:25
shisik, скажите, а как разделить на несколько потоков, для того чтобы обновлялся прогресс бар?
Почитайте эту статью https://habrahabr.ru/post/164487/
blackeangel
06-06-2017, 17:17
Почитайте эту статью https://habrahabr.ru/post/164487/
Это я читал уже. Но осталось непонятным, как это прикрутить к моему проекту?
blackeangel, ну как? Поместить в отдельынй поток код, требующий длительного времени для выполнения (собственгно, решающий задачу), и периодически в из него посылать сигнал с новым значением погресса.
blackeangel
06-06-2017, 22:46
blackeangel, ну как? Поместить в отдельынй поток код, требующий длительного времени для выполнения (собственгно, решающий задачу), и периодически в из него посылать сигнал с новым значением погресса.
Хорошо, а будут ли доступны из того потока публичные константы из потока гуи?
blackeangel, да, будут. Если только константы - то не страшно, а вот если писать какие-то данные, то нужно синхронизировать.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC