![]() |
|
|
![]()
|
|
| Mpak |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 12.11.2006 Репутация: 4 Всего: 7 |
Anikmar, понимаю, что муторно....но если это возможно, значит надо уметь
Vyacheslav, теперь ошибка Cannot convert 'void (_fastcall TFormmes::*)(TObject *)' to 'void (_fastcall *(_closure)(TObject *))(TObject *)' Не могу понять, что неправильно.... вот мой header'овский файл полностью:
Добавлено @ 13:38 Созданные объекты:
Это сообщение отредактировал(а) Mpak - 15.1.2007, 13:35 -------------------- В любой откомпилированной программе есть, по крайней мере, одна ошибка... P.S. А у меня их минимум две... |
||||
|
|||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Vyacheslav,
Я думаю не стоит так делать - теряется прозрачность и читаемость. Если человек учится, то лучше сразу писать по-человечески: Если компонент на форме, то и создавать его надо в конструкторе формы, а обработчик - метод этой формы. Так проще отлаживаться и читать код легче. Например:
|
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Добавлено @ 14:04 Это не будет работать. При запуске программы получишь ошибку. Resource TFormmes not found -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
На сколько я помню свои собственные эксперименты, у меня не получилось ввести обрработчик из другого класса (точно не помню). Дело в том, что обработчик обязательно имеет модификатор (_closure) - это означает, что в функцию передается адрес конкретного объекта. Просто я в свое время прекратил эксперементировать с этим - так как практической пользы не увидел. Методы класса и все компоненты этого класса должны быть в одном месте - это удобнее и правильнее. Думаю, увидев это, кто-нибудь ответит более конкретно. Добавлено @ 14:42 Хм... Не, я не прав. Делал - и все работает. Можно обработчик вешать из другого объекта, тут я сам на себя наврал. Но всетаки лучше все в одном классе делать Добавлено @ 14:45 Думаю ошибка здесь: idx->OnChange=TFormmes::idxChange; тут обработчику присваивается метод класса. Но это не _closure - это просто функция. Чтобы она стала _closure надо передавать именно метод конкретного объекта, т.е. idx->OnChange=mes->idxChange; |
|||
|
||||
| Mpak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 12.11.2006 Репутация: 4 Всего: 7 |
Спсасибо за информацию
-------------------- В любой откомпилированной программе есть, по крайней мере, одна ошибка... P.S. А у меня их минимум две... |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Все правильно ... Только с учетом того, что эта строка была вывешена за полчаса до этого объяснения, зачем править уже исправленные ошибки? -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Vyacheslav, Все правильно, просто иногда посты появляются быстрее, чем набиваешь ответ
Я просто это не увидел. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |