|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.12.2012, 11:18 | #1 |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
Поток
Добрый день, формучане!
Я в делфи всё еще новичок. Никак не получается процедуру влепить в отдельный поток. Собственно. Код:
Код:
Код:
Код:
Что я не так делаю? Вопрос глупый, знаю.Каюсь, стыдно) Спасибо заранее всем. |
19.12.2012, 18:06 | #2 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
1.
Цитата:
подозреваю =0 => while false => ?! а теперь общие замечания. Работа с VCL (формы и все что есть на них) внутри потока мягко говоря не приветствуется. Она конечно допустима, но требует synchronize что равносильно остановке потока до окончания данной операции (до выполнения ВСЕХ действий внутри процедуры). Теперь убираем (или комментируем) из вашей Execute все связанное с Form и что там останется? Может быть вам все-таки обойтись без потока? как работать с потоками
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 19.12.2012 в 18:09. |
|
19.12.2012, 18:22 | #3 | |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
Цитата:
Изначально FNextConnectionRow := 1; без потока, раньше запускал цикл так Код:
Спасибо за ссылку, уже был на ней. Но всё никак нет времени вчитаться в статью. А по быстрому не понимается Возможно Вы правы. в основном потоке оно работает нормально. Но, меня сильно смущает мерцание компонентов во время выполнения цикла, и небольшое подвисание программы. То я подумал, что отдельный поток решит данную проблему. К сожалению, даже DoubleBuffered=true не помогает. Возможно подскажете как решить проблему с мерцанием? Спасибо. |
|
19.12.2012, 20:19 | #4 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
|
||
19.12.2012, 21:59 | #5 | |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
Цитата:
Но почему-то создаётся всего одна вкладка. Без нового окна rdp. |
|
19.12.2012, 22:52 | #6 |
Форумчанин
Регистрация: 11.04.2012
Сообщений: 212
|
TMsRdpClient6 работает в неблокирующем режиме с асинхронными нотификациями о событиях.
Потоки в данной задаче вообще не нужны. |
20.12.2012, 07:45 | #7 |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
|
20.12.2012, 09:08 | #8 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
|
|
20.12.2012, 09:23 | #9 |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
Спасибо. Но я писал выше, что это не помогает.
У меня эта процедура выполняется каждый раз, после закрытия одной вкладки. Тогда процедура создаёт новую вкладку и рдп окно. Вот тогда и начинают мерцать компоненты. |
20.12.2012, 10:05 | #10 |
Форумчанин
Регистрация: 11.04.2012
Сообщений: 212
|
Свойство DoubleBuffered никаким боком не касается компонентов-наследников TWinControl, лежащих непосредственно на форме либо на WinControl-контейнерах на ней - оно влияет только на работу компонентов-наследников TGraphicControl.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. | Человек_Борща | Общие вопросы Delphi | 8 | 27.02.2012 23:24 |
Поток. Не получается создать поток. Выдает ошибки при запуске | bigory | Общие вопросы по Java, Java SE, Kotlin | 3 | 23.09.2010 00:40 |
поток | Артэс | Общие вопросы C/C++ | 9 | 08.07.2010 12:12 |
Поток в Си | shapiro | Помощь студентам | 1 | 18.04.2010 23:01 |
Поток | Черничный | Общие вопросы Delphi | 5 | 27.09.2008 21:23 |