![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| zalex |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Привет всем!
Есть поток, который знает только HWND главной формы и ничего больше о ней. Этот поток только и может, что отправлять сообщение SendMessage этому HWND. Главная форма умеет получать сообщение, посылаемое потоком, но как только в процедуре обработки сообщения лезешь к Визуальным компанентам, получается AV. Как оформить обращение к визуальным компанентам внутри класса главной формы, что бы избежать AV. КОД обработчика сообщения
Конечно можно сделать вот так
Но некрасиво как-то, да и обращаясь к Form1 уже выходим за класс к другим переменным. Это сообщение отредактировал(а) Alex - 26.5.2005, 18:38 |
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Нормальный код. Все должно работать.
Разве, что в момент получения сообщения батон не существует. Мессадж на другой менять не пробовал? Может он у тебя совпадает с каким-нить системным... |
|||
|
||||
| zalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Мессаж - WM_User+13. Менять пробовал, но это всё равно как по колёсам стучать и стекла протирать.
Баттон в Дизайн-тайме создан. Если никто не против полностью исходник выложить могу. |
|||
|
||||
| Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
В данном случае да.
Если меньше 64 строк, то давай. Если польше, то приаттач в архиве к сообщению. |
||||
|
|||||
| zalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Это сообщение отредактировал(а) Alex - 26.5.2005, 18:39 |
|||
|
||||
| Illusion Dolphin |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
и никаких сообщений и AV -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
| zalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Согласен, но для меня важно, что бы поток ничего не знал кроме HWND главной формы. Решаю задачу, пытаюсь структурировать на более мелкие, но ничего не получается.
Проще, как уже писал в первом письме, сделать Form1.Button1.Enabled:=False вместо Button1.Enabled:=False, но некрасиво это, хотелось бы всё решить на уровне класса и не вылазить за его пределы.(Как в случае с переменной Form1) Может это выглядит и загонно, но хочется как бы сказать - юнитности. Т.е. отладил объект - забыл про него, и т.д. Вот и поток хочу что бы выдавал что либо, зная лишь HWND формы, причем реакция формы позволяла бы лезть к VCL-компаненту. Мож другой способ есть, или туть что -то упустил. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |