|
Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...
|
|||
---|---|---|---|
#18+
kealon(Ruslan) По правильному, Но все равно - спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 09:10 |
|
Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...
|
|||
---|---|---|---|
#18+
kealon(Ruslan), На нижнем уровне, может и косяки. А на верхнем прикладном все работало. Не логично, но так бывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 09:22 |
|
Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, архитектурные косяки не приводят к тому, что работать не будет. Футболку можно через голову одеть, а можно при определённой сноровке и через опу. Результат будет один, но второй способ сложнее. Отсутствие дополнительного сквозного параметра в WinProc создало проблему, которую все решали как могли. Например, мапинг хэндлов в объекты из 22332103 , это явный костыль для обхода этой архитектурой проблемы. В Борланд сделали ещё более крутой костыль - AllocateHWnd, с динамическим созданием кода. Потом появился SetWindowSubclass , который отчасти закрывает эту проблему, но, как говорится: "поезд уже ушёл..." ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 11:05 |
|
Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, вот скажи, почему про SetWindowSubclass автору никто не подсказал? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 11:12 |
|
Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...
|
|||
---|---|---|---|
#18+
kealon(Ruslan) PetroNotC Sharp, вот скажи, почему про SetWindowSubclass автору никто не подсказал? Не случайно на мои топики был первый вопрос - "а зачем тебе?"))) Идем от задачи а не тупой поиск аналога дельфи3 от 1997года. Как можно дельфи в котором ГЛАВНОЕ ЭТО ГУИ переписывать на плюсы БЕЗ ГУИ? Мое имхо что архитектура зависит от фреймворка каркаса на 99 проц. Когда добавим в разговор ГУИ, то и разговора о SetWindowSubclass не будет. Невозможно переписывать дельфи без ГУИ. (с) Имхо. Вот не люблю такие примеры) авторПример использования. Задача: через 3 секунды показать диалог "Привет!. Реализация: для экземпляра объекта создаем обработчик события WM_TIMER. stealth_window sw; sw.add_msg(WM_TIMER, [&](UINT msg, WPARAM& w_param, LPARAM& l_param) { KillTimer(sw.handle, 999); MessageBoxA(sw.handle, "Привет! Время пришло", "C++ отладка", MB_OK); }); Cоздаем таймер с интервалом 3000 мс. SetTimer(sw.handle, 999, 3000, nullptr); Все имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 13:21 |
|
Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, а моё ИМХО: все просто привыкли к костылям, которые заметили на своих платформах. Более того, считают их единственно правильными. GUI\не GUI, в данном случае - это лирика, оконные процы и без гуи пашут "переписать 1 в 1, а потом исправлять на особенности платформы" вполне нормально, иначе у большинства обычно получается только "добавить к текущим багам свои" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 19:45 |
|
Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...
|
|||
---|---|---|---|
#18+
kealon(Ruslan) ... а моё ИМХО: все просто привыкли к костылям, которые заметили на своих платформах. Более того, считают их единственно правильными. GUI\не GUI, в данном случае - это лирика, оконные процы и без гуи пашут "переписать 1 в 1, а потом исправлять на особенности платформы" вполне нормально, иначе у большинства обычно получается только "добавить к текущим багам свои" Насчет "считают единственно правильными" - да ладно. Просто когда-то получилось "именно вот так", и самому понятно, что можно лучше, да время и другие проекты поджимают. И перерабатываешь что-то, когда совсем всё колом встанет. ... Пример. Мы когда-то обмен служебными данными над XMPP ("jabber") протоколом реализовали: просто, и не нужно тратиться на поддержку собственного сервера (вместо это использовали чужие открытые сервера). Работает, скорость устроила. Для надежности забили в список рабочих серверов аж 10 штук - если один не отвечает - связь через другой. Больше 10 лет проработало, а потом - хлоп! - и встало. Оказывается, jabber - сервера потихоньку, один за другим добавили капчу при идентификации и ssl, а мы и не знали. Последним держался какой-то сервер из Японии, но и он добавил... В общем, пришлось чинить. В итоге, менять ничего не стали, а подняли собственный jabber - сервер, который без ssl, и капчу не требует. Конечно, переделаем, но - потом, когда все остальные дела завершим... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 21:17 |
|
Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...
|
|||
---|---|---|---|
#18+
kealon(Ruslan), Как ГУИ лирика, если код для авторЗадача: через 3 секунды показать диалог "Привет!. Будет совершенно разный. В одном случае футболка будет надета через жопу)) И в шарпе и в жаве и.... пишется в ТЗ - при решении задачи использовать ххххх. Представь, если ты взял легаси код на Си с pointer и переписываешь его в век когда есть умные указатели, шаблоны и вектор. Говнокод и велосипед будет. Он не сокет сервер переписывает а имхо формошлепный дельфи. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 21:24 |
|
Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...
|
|||
---|---|---|---|
#18+
kealon(Ruslan), Если говорить об архитектуре, то нужна более реальная задачка о применении менеджера событий приложения в бою. Без примера трудно). В Qt все на сигналах. К тому же в плюсах нет строгого деления как в жаве на бэк и фронт. Чтобы плевать на ГУИ. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 21:31 |
|
|
start [/forum/topic.php?fid=57&msg=40076876&tid=2017201]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 188ms |
0 / 0 |