Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
kealon(Ruslan)
По правильному,
Не буду исправлять. Ну кто мне там что-то испортит, кроме меня самого...
Но все равно - спасибо.
10 июн 21, 09:10    [22333584]     Ответить | Цитировать Сообщить модератору
 Re: Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
kealon(Ruslan),
На нижнем уровне, может и косяки. А на верхнем прикладном все работало.
Не логично, но так бывает.
10 июн 21, 09:22    [22333587]     Ответить | Цитировать Сообщить модератору
 Re: Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 6360
PetroNotC Sharp,

архитектурные косяки не приводят к тому, что работать не будет. Футболку можно через голову одеть, а можно при определённой сноровке и через опу. Результат будет один, но второй способ сложнее.
Отсутствие дополнительного сквозного параметра в WinProc создало проблему, которую все решали как могли.

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

Потом появился SetWindowSubclass, который отчасти закрывает эту проблему, но, как говорится: "поезд уже ушёл..."

Сообщение было отредактировано: 10 июн 21, 10:58
10 июн 21, 11:05    [22333636]     Ответить | Цитировать Сообщить модератору
 Re: Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 6360
PetroNotC Sharp,

вот скажи, почему про SetWindowSubclass автору никто не подсказал?
10 июн 21, 11:12    [22333642]     Ответить | Цитировать Сообщить модератору
 Re: Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
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 июн 21, 13:21    [22333758]     Ответить | Цитировать Сообщить модератору
 Re: Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 6360
PetroNotC Sharp,

а моё ИМХО: все просто привыкли к костылям, которые заметили на своих платформах. Более того, считают их единственно правильными.

GUI\не GUI, в данном случае - это лирика, оконные процы и без гуи пашут

"переписать 1 в 1, а потом исправлять на особенности платформы" вполне нормально, иначе у большинства обычно получается только "добавить к текущим багам свои"
10 июн 21, 19:45    [22334082]     Ответить | Цитировать Сообщить модератору
 Re: Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
kealon(Ruslan)
...
а моё ИМХО: все просто привыкли к костылям, которые заметили на своих платформах. Более того, считают их единственно правильными.

GUI\не GUI, в данном случае - это лирика, оконные процы и без гуи пашут

"переписать 1 в 1, а потом исправлять на особенности платформы" вполне нормально, иначе у большинства обычно получается только "добавить к текущим багам свои"

Насчет "считают единственно правильными" - да ладно. Просто когда-то получилось "именно вот так", и самому понятно, что можно лучше, да время и другие проекты поджимают. И перерабатываешь что-то, когда совсем всё колом встанет.
...
Пример. Мы когда-то обмен служебными данными над XMPP ("jabber") протоколом реализовали: просто, и не нужно тратиться на поддержку собственного сервера (вместо это использовали чужие открытые сервера). Работает, скорость устроила. Для надежности забили в список рабочих серверов аж 10 штук - если один не отвечает - связь через другой. Больше 10 лет проработало, а потом - хлоп! - и встало. Оказывается, jabber - сервера потихоньку, один за другим добавили капчу при идентификации и ssl, а мы и не знали. Последним держался какой-то сервер из Японии, но и он добавил... В общем, пришлось чинить. В итоге, менять ничего не стали, а подняли собственный jabber - сервер, который без ssl, и капчу не требует. Конечно, переделаем, но - потом, когда все остальные дела завершим... :)
10 июн 21, 21:17    [22334104]     Ответить | Цитировать Сообщить модератору
 Re: Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
kealon(Ruslan),
Как ГУИ лирика, если код для
автор
Задача: через 3 секунды показать диалог "Привет!.

Будет совершенно разный.
В одном случае футболка будет надета через жопу))
И в шарпе и в жаве и.... пишется в ТЗ - при решении задачи использовать ххххх.
Представь, если ты взял легаси код на Си с pointer и переписываешь его в век когда есть умные указатели, шаблоны и вектор.
Говнокод и велосипед будет.
Он не сокет сервер переписывает а имхо формошлепный дельфи.
10 июн 21, 21:24    [22334105]     Ответить | Цитировать Сообщить модератору
 Re: Как из нестатического метода объекта сделать статический, или аналог AllocateHWnd()...  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
kealon(Ruslan),
Если говорить об архитектуре, то нужна более реальная задачка о применении менеджера событий приложения в бою.
Без примера трудно).
В Qt все на сигналах.
К тому же в плюсах нет строгого деления как в жаве на бэк и фронт. Чтобы плевать на ГУИ.
10 июн 21, 21:31    [22334111]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / C++ Ответить