HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 26.05.2023, 13:46
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

Здароу! Может быть знаете вайбовый способ отделения логики от ImGui? Я пробовал и MVC, и MVP, но это всё чёт не то, не подходит для Immediate.
 
Ответить с цитированием

  #2  
Старый 12.07.2023, 19:46
reussssya
Новичок
Регистрация: 12.03.2023
Сообщений: 28
С нами: 1671509

Репутация: 3
По умолчанию

Решил проблему? Если да, то как?
 
Ответить с цитированием

  #3  
Старый 12.07.2023, 21:15
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

Цитата:
Сообщение от reussssya  

Решил проблему? Если да, то как?
C++:





Код:
namespace
app
{
class
gui
{
public
:
std
::
function

onButtonClicked
;
void
setText
(
std
::
string text
)
;
void
run
(
)
;
}
;
class
net
{
public
:
std
::
function

onTextReceived
;
void
sendTextRequest
(
)
;
void
run
(
)
;
}
;
}
// namespace app
int
main
(
)
{
app
::
gui gui
;
app
::
net net
;
gui
.
onButtonClicked
=
[
&
net
]
(
)
{
// нужно обеспечить безопасность потоков (mutex)
net
.
sendTextRequest
(
)
;
}
;
net
.
onTextReceived
=
[
&
gui
]
(
std
::
string newText
)
{
// нужно обеспечить безопасность потоков (mutex)
gui
.
setText
(
newText
)
;
}
std
::
thread gui_thread
{
std
::
bind_front
(
&
app
::
gui
::
run
,
gui
)
}
;
std
::
thread net_thread
{
std
::
bind_front
(
&
app
::
net
::
run
,
net
)
}
;
// ждём завершения потоков
gui_thread
.
join
(
)
;
net_thread
.
join
(
)
;
}
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.