Перейти к содержимому
  • 0
Del

"Сворачивание" программы

Вопрос

Нужно закрыть программу, так что-бы отдельные функции оставались рабочими(у меня - приём сообщений), а по нажатию на определённую кнопку программа заново открывалась, на определённом месте.

Сейчас я вроде-как сделал сворачивание, а вот разворачивание - уже проблема. То что нужно напечатать - печатается, а консоль(эта штука с /home$) ломает ВСЁ

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Наверное, достаточно создать глобальную переменную-обьект, в которую можно поместить все данные приложения, и при запуске программы просто проверять её наличие. Если она есть - восстанавливать состояние приложения из нее, если нет - запускать сначала. Все фоновые обработчики событий работают с этим объектом и обновляют его состояние при, например, получении нового сообщения

 

А если эту загрузку/сохранение состояния реализовать с помощью файла, который можно поместить в /tmp или отдельную директорию на диске, можно не волноваться за потенциальные проблемы со сборщиком мусора и загружать состояние приложения, может быть, даже после перезагрузки

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чуть не забыл про скриншоты. Неудачное разворачивание проги - консоль остаётсяimage.thumb.png.ca8c9e195b8a66ef1f9cf9523a9c6073.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Del сказал:

Нужно закрыть программу, так что-бы отдельные функции оставались рабочими(у меня - приём сообщений), а по нажатию на определённую кнопку программа заново открывалась, на определённом месте.

Сейчас я вроде-как сделал сворачивание, а вот разворачивание - уже проблема. То что нужно напечатать - печатается, а консоль(эта штука с /home$) ломает ВСЁ


можно будет реализовать функции status, например. На слушателях писать не очень удобно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хочу сказать, что этот чат - НЕ сервер-клиентный. Можешь пойти в тему(Программы>Сетевые технологии>Чат на беспроводных картах), и покопаться в коде

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
12 минуты назад, Del сказал:

Хочу сказать, что этот чат - НЕ сервер-клиентный.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, AtomicScience сказал:

... глобальную переменную-обьект, ...

Не так быстро! Во первых - я не знаю как и что это такое. Во вторых - с помощью файла пытался, но были какие-то баги с 8-9 евентами "modem_message", когда отправлено было только одно, и это только в свёрнутом состоянии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...