183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515

Передача callback функции

05.08.2016, 11:55. Показов 2145. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем добрый день!
Как описать и реализовать метод OLE класса для принятия обработчика, чтобы тот вызывался в контексте клиентского приложения (был доступ к глобальной области видимости)? На сколько я знаю OLE не понимает тип-"указатель на функцию".
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.08.2016, 11:55
Ответы с готовыми решениями:

For_each и аргументы callback-функции; Как передать callback'у больше одного аргумента
Изучаю контейнеры и алгоритмы stl по Майерсу . С непривычки слегка охренел и запутался в них . В общем есть у меня простой вызов...

Передача callback в dll
Всем привет. Тема не совсем winapi, но это скорее самая подходящая тема. Есть функция в dll, которая принимает указатель на callback...

Передача в поток CALLBACK процедуры
Создал потомка TThread под свои нужды: Type TThreadIO = Class(TThread) Private FExecuteProc : TProcedure; ...

3
Модератор
 Аватар для vxg
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,429
05.08.2016, 12:52
Operok, передайте туда указатель на интерфейс - пусть объект вызывает вас через него
1
183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515
05.08.2016, 13:40  [ТС]
т.е. в клиенте создать "наследника" от ранее оговоренного интерфейса с переопределенным методом?
Просто я предполагал что есть некий механизм. Вот VBA "заточен" под работу с OLE, там, если не изменяет память, и обратные вызовы есть, если есть, то можно подобный механизм прикрутить и к своему интерфейсу.
0
Модератор
 Аватар для vxg
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,429
05.08.2016, 17:04
Лучший ответ Сообщение было отмечено Operok как решение

Решение

Operok, у вас в приложении создаете объект с неким интерфейсом и отдаете его во внешний объект который знает что из переданного IUnknown можно получить IMyInterface у которого при заданных условиях надо вызвать MyMethod

Добавлено через 3 минуты
можно еще смотреть IConnectionPointContainer и IConnectionPoint
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.08.2016, 17:04
Помогаю со студенческими работами здесь

Передача вектора в CALLBACK Функцию
Можно ли вот таким образом передавать вектор, используя явное преобразование. В принципе это работает, но чревато ли ошибками? void...

Передача указателя на CALLBACK функцию
делаю класс приложения для более быстрого создания программ и просто инкапсуляции всего и вся)) и вот я сделал класс cApplication, один...

Callback функции
Зачем они нужны? Можете привести пример, где конкретно без них не обойтись. Также есть вопрос по array_walk(), вот пример из документации: ...

Callback функции
Есть запрос вроде этого: somevar.select(data, function(response) { // callback code. }); Как отсюда вытащить данные...

Callback функции в Windows
Нужно получить runtime способность вызыва любой callback функции. Например обрабочики wndproc, enumwindows, enumfont, enumprocess и другие,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru