![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
tararataka, что именно вы хотите скопировать из куте? Я не совсем понимаю. Покажите пример использования. Ибо moc отвечает только за обработку signals: и slots:, все остальное - обычный С++.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| tararataka |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 21.8.2010 Репутация: нет Всего: нет |
djamshud
Собственно я это и имел ввиду. Cвязывание двух функций. Собственно на рсдн есть пример реализации, во всяком случае похожей идеи. Но оно выглядит так, что на это смотреть страшно. Это сообщение отредактировал(а) tararataka - 10.9.2010, 11:15 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
tararataka, что - это? сама функция connect moc-ом не обрабатывается. Точнее, это макрос.
Добавлено через 1 минуту и 6 секунд То есть вы хотите сделть свои сигналы/слоты, правильно? То есть систему посыла сообщений в программе, да? -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Насколько я понимаю вам нужен __closure указатель. С++ напрямую не поддерживает. Поддерживается как расширение языка в Borland C++ Builder (или как оно сейчас называется) Не уверен, что его можно вообще реализовать в С++ с ТЕМ ЖЕ синтаксисом, что и в BCB |
|||
|
||||
| tararataka |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 21.8.2010 Репутация: нет Всего: нет |
djamshud
Ага. Только я так понимаю лучше этим не заморачиваться. ) |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
tararataka, ну почему. Я ради интереса делал это когда-то. На самом деле все очень просто. Но можно взять иготовые из Qt, boost или еще какой-нибудь библиотеки. Если на выходных в инет вылезу, выложу свою реализацию. Или в понеделник.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| tararataka |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 21.8.2010 Репутация: нет Всего: нет |
djamshud
Давай, интересно будет посмотреть. |
|||
|
||||
| Master01 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 22.8.2007 Репутация: 2 Всего: 2 |
посмотрите boost::bind а вдруг это то что вы искали |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
Во. Версия сырая и требует обработки напи^Wмакросами. Очень легко приделать регистрацию не только методов, но и обычных функций. Также может захотеться передавать что-нибудь через сигналы (в данной версии они умеют только пинать соседей). Самый простой способ - использовать какую-нибудь абстрактную структуру или набор variant-ов. Полноценно передача параметров делается через огромные костыли с помощью шаблонов (см реализацию сигналов в boost) или с помощью препроцесора (см Qt).
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |