Выполнение поиска в отдельной ветке delphi - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь выполнить поиск, который выполняется в отдельном потоке и обновляет список с соответствующими элементами с помощью Synchronize.

ранее, когда поиск работал в основном потоке. Я использовал событие onchange TButtonedEdit. для обнаружения строки, которую пользователь wi sh ищет. & выполнить поиск по элементам списка.

Я хочу знать, как определить изменение текста TButtonedEdit внутри потока. или как то же самое можно реализовать с помощью потока.

Спасибо за помощь.

1 Ответ

1 голос
/ 28 мая 2020

Вы не можете обнаружить изменение TButtonedEdit непосредственно из рабочего потока.

Что вы можете сделать, так это использовать событие OnChange, чтобы уведомить рабочий поток о внесении изменений.

Или, если вы создаете рабочий поток в событии OnChange, вы можете сигнализировать существующему потоку о завершении и не возвращать никаких результатов, а затем запускать новый поток для выполнения поиска с новыми параметрами поиска. Обратите внимание, что ваша процедура поиска должна быть спроектирована таким образом, чтобы поток мог регулярно проверять свойство Terminated вашего рабочего потока, если только вы не сможете завершить его до завершения поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...