![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Возник такой вопросец к гуру местмым
![]() Создаю поток по методу сабжа, все работает ![]() ![]() ![]() Вот и вопрос как правильно работать с формой, с переменными модуля и т.п. из потока???? ![]() PS плюс если еще кто-то пояснит как работать с формой из потока созданного с помощью CreateRemoteThread вообще ОГРОМНЕЙШИЙ сенкс ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 1 Всего: 102 |
при работе c формой из потока, необходимо использовать Synchronize
при использовании нескольких потоков необходимо использовать CriticalSection -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Насколько мне известно этот метод для дельфийского класса TThread, а я полmpe.cm API
А это посмотрю спасибо ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
||||
|
|||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 15 Всего: 55 |
Ну, если сам на API, то и обеспечивай сам взаимоисключающий доступ к VCL. Дело в том что VCL не реентерабельна. -------------------- Все знать невозможно, но хочется |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
В смысле? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
poor_yorik |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 12.1.2005 Где: Общаги г. Киева Репутация: нет Всего: 8 |
Нельзя использовать большинство компонентов VCL в потоках.
Для этого ты должен унаследовать унаследовать класс от TTheard, написать какую-отдельную процедуру run с обращением к форме. Потом в методе Execute, ты пишешь процедуру потока где и используешь Synhronize(Run). --------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай... |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
еще вариант - обеспечивать связь с формой не операциями с VCL компонентами, а посылкой сообщений, если, конечно, ситуация позволяет...
-------------------- qqq |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
С классом ТТрид это понятно , но мне немного для другого, для работы с чужими компанентами на чужих формах
![]()
Можно конечно , если в своем приложении , однак см. выше -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 15 Всего: 55 |
Т.е. имеется ввиду компонентами и формами принадлежащими другому процессу? Добавлено @ 14:13 И еще, почитай темку Вывести в memo от 00000000 до 11111111. Там есть для тебя кое что интересное ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Ага ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Ага поучительно ![]() Только возникает вопрос чем лучше beginthread , чем createthread? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 15 Всего: 55 |
В beginthread предусмотрены некоторые действия связанные с обработкой Exception возникающего в процедуре реализующей поток, и еще кое чего. В общем, читай хелп по beginthread ![]()
Странно, предполагаю что у тебя проблемы в чем-то другом. А вообще, как ты работаешь "с чужими компанентами на чужих формах"? Приведи-ка пример. -------------------- Все знать невозможно, но хочется |
||||
|
|||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
С Checklistbox я уже разобрался
![]()
Это тестовый вариант но он работает ![]() Это сообщение отредактировал(а) Girder - 27.7.2005, 16:20 -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 15 Всего: 55 |
Вот это как раз странно. 1. Использование переменной p участвующей в выражении границ цикла в теле цикла это не есть хорошо. 2. Не вижу как определены переменные pc и buf, но у меня большие сомнения что ты правильно используешь сообщение LB_GETTEXT. 3. Ну а вот это:
мне вообще кажется чрезмерно смелым способом работы! Особенно, все что касается (p+8). Если у тебя и все остальное написанно в таком же стиле, то тогда вполне понятно почему это не работает как надо. Добавлено @ 12:21 Прости если показался слишком резким. ![]() Добавлено @ 12:23 Да, и еще. Можешь посмотреть как правильно работать с LB_GETTEXT в реализации метода TListBoxStrings.Get. -------------------- Все знать невозможно, но хочется |
||||
|
|||||
Romikgy |
|
||||||||||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Дафай поочереди :
Это не столь важно букву можно и поменять (т.е. переменную)
pc: array [byte] of char; Buf: byte;
Мож и смело, но это вышло после дизассемблирования участка кода с обычным обращением к компоненте.
Ниче как нибудь сочтемся ![]()
И в чем разница???
Вот исходник, в чем у меня отличие??? То что проверок нет??? ну дык это при написании так сказать релиза учтется ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
||||||||||||
|
|||||||||||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |