|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|||||||||||
callback - функции, как метод класса03.04.2023, 06:49. Показов 7267. Ответов 60
Метки нет (Все метки)
Здравствуйте! Хочу задать слудющий вопрос, хотя тема не нова, но я так её вкурить не могу, а именно, как задать в классе (метод класса) фукцию обратного вызова?
Есть функция, например, такая
почему если делать так, то выскакивает ошибка:
0
|
|||||||||||
| 03.04.2023, 06:49 | |
|
Ответы с готовыми решениями:
60
Метод класса не работает как callback-функция Методы класса как callback функции
|
|
Модератор
|
||||
| 06.04.2023, 15:59 | ||||
|
Как же всё-таки определить, какие именно объекты с++, а также модули, реализованные на других языках, должны обрабатывать данное сообщение данному окну? Добавлено через 2 часа 18 минут Не по теме:
Load Register (literal), которые предназначены для загрузки констант из близлежащих слов в GPR.https://developer.arm.com/docu... -literal--
0
|
||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
||||||||||
| 06.04.2023, 23:08 [ТС] | ||||||||||
что за нах... сами халивары разводят, а потом видите ли они суть теряют. Что мешает её определить и использовать, зачем в твоём случае в классе нужна функция WndProc в данном случае она лишняя, но если убрать статик, тогда....
0
|
||||||||||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
||
| 06.04.2023, 23:29 | ||
|
Далее, если в конечном счете нужно получить вызов метода класса, следует еще дополнительно как-то передать this. Разные API, в зависимости от своей прямоты, обеспечивают те или иные способы передачи какой-либо userdat`ы (обычно это указатель на void, либо какое-то целое число). Частный пример - Get\SetWindowLong, позволяющий прикрепить такую юзердату к окну hwnd. В общем для нужд вызова метода класса нужно this передать в качестве такой юзердаты. Далее дело техники: получаем юзердату внутри нашей функции обратного вызова, кастим юзердату к типу "указатель на наш класс", через получившийся this делаем вызов метода (возможно виртуального). Принцип этот везде одинаковый, различаться будет только форма записи кода, который это делает, в зависимости используемого API.
2
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||||||||
| 07.04.2023, 08:35 | ||||||||
|
По существу: см. PostThreadMessage, например. А также погуглить "Message-Only Window", которое выведет на HWND_MESSAGE параметр. Это вариант не совсем "без окон", но о однако он показывает, что MS допекли желанием передавать сообщения, но "без окон", в ответ на что был сделан такой вот механизм экономии ресурсов. Добавлено через 5 минут
Какой еще вопрос остался? не понятно. Ты хочешь обойтись без WndProcProxy? ну так тебе на протяжении всей ветки говорят: это невозможно. В том или ином виде функция не метод класса будет присутствовать, должна присутствовать. Иначе никак. Мне не понятно что тебе еще не понятно. Напиши развёрнуто вопрос который теперь тебя волнует, а не в форме "отвечаю на вопросы". Добавлено через 4 минуты
0
|
||||||||
| 07.04.2023, 11:10 | ||
|
Не по теме:
PostQuitMessage()https://learn.microsoft.com/en... uitmessage
0
|
||
|
COM‐пропагандист
|
||
| 07.04.2023, 11:19 | ||
|
Вы наверное имели ввиду «очередь сообщений»? Вот очередь сообщений на весь поток только одна.
1
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 07.04.2023, 12:10 | ||
|
Замабувараев,
ваш ответ описывает один из частных случаев. При этом ответ столь краток, что лишь запутывает новичков. Особенно категоричное вступительное
0
|
||
| 07.04.2023, 23:09 [ТС] | |||
|
Не по теме:
Если все растолковывают ответ на один вопрос, то что вы вдруг путаться-терять смысл повествования стали, а, приблатнённый. Не по теме:
0
|
|||
|
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,296
|
|
| 08.04.2023, 01:59 | |
|
Типичный троллинг.
Liss29, Вас вообще, програмирование интересует? Добавлено через 1 минуту Или больше психология.... Добавлено через 2 минуты Не по теме: Вот у меня нету желания ни куда ни чего вставлять,
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 08.04.2023, 07:40 | |
|
0
|
|
|
COM‐пропагандист
|
|
| 08.04.2023, 08:24 | |
|
0
|
|
| 10.04.2023, 11:43 | |||||||
|
Не по теме:
PostQuitMessage() в следующей бессмыслице?
0
|
|||||||
|
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,296
|
|
| 11.04.2023, 16:35 | |
|
Вы думаете вот так всё просто. Сумничал, запихнул и забыл....
Написал програмное обеспечение, имеешь кучу малообьяснимых глюков. Особенно если написано на высоком уровне... Типа какой то фрамеворк, или с+++ 11 - 14 - 22.... наверное дяди писавшие с++, не предусмотрели ваши идеи... И как это будет работать в зависимости от загруза процессора, остальных программ, распределения памяти, модели материнки.
0
|
|
|
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,296
|
|
| 11.04.2023, 16:56 | |
|
Я пытаюсь рисовать на экране "резиновые нити".
Определяю размер области. Она пульсирует. А иногда её не видно вообще. Раньше рисовал на экранной области. Делал InvalidateRect экрана.... Все значки мигали. Написал программу форма на winApi. Стала меняться окраска. Я перестал рисовать на экране. Стал подставлять прозрачную форму. Делаю InvalidateRect этой формы... Что происходит в системе, почему нить иногда исчезает? final_file(3).mp4
0
|
|
|
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,296
|
|
| 11.04.2023, 18:40 | |
|
Бывают проблемы, и без запихивания кальбак функций в класс.
Добавлено через 1 час 42 минуты Программу пишут, что бы работало, а не для того, что бы что то такое наумничать, что бы ни кто ни чего не понял.
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
||
| 18.04.2023, 06:45 [ТС] | ||
|
Не по теме:
Добавлено через 5 минут
0
|
||
|
COM‐пропагандист
|
||
| 18.04.2023, 07:37 | ||
|
0
|
||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
||||||||
| 18.04.2023, 22:55 [ТС] | ||||||||
![]() Кликните здесь для просмотра всего текста
Добавлено через 9 минут Не по теме:
0
|
||||||||
|
COM‐пропагандист
|
|
| 19.04.2023, 06:40 | |
|
0
|
|
| 19.04.2023, 06:40 | |
|
Нестатическая ссылка в статичной (BOOL CALLBACK EnumWindowsProc) функции внутри класса
CALLBACK функция как член класса
Как в аргумент функции передать указатель на метод класса? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|