![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Как предотвратить частое нажатие на button, суть такая по нажатии на кнопку происходит обновление списка в memo если нажимать слишком часто не успевает обновится и появляется в несколько раз больше содержимого чем при однократном нажатии. Скажу что sleep() не подходит по некоторым причинам.
|
|
#2
|
||||
|
||||
|
А что мешает просто заблокировать кнопку после нажатия, на некоторое время? Вот скажем так устроит?
Код:
procedure TForm24.Button1Click(Sender: TObject); begin Button1.Enabled := False; Timer1.Interval := 3000; Timer1.Enabled := True; end; procedure TForm24.Timer1Timer(Sender: TObject); begin Button1.Enabled := True; Timer1.Enabled := False; end; |
|
#3
|
|||
|
|||
|
да а если надо на несколько кнопок то для каждой отдельный таймер или как?
|
|
#4
|
||||
|
||||
|
А что у вас за процедура обновления мемо, может в ней дело?
|
|
#5
|
|||
|
|||
|
Цитата:
|
|
#6
|
||||
|
||||
|
если вы это делаете в процедуре OnClick и, как и говорите, сначала очищаете мемо, а потом заполняете из файла, то, при нескольких нажатиях, не должно лишних записей появляться. Если вы, конечно, какие-нибудь, потоки не используете. Давайте, может, код?
|
|
#7
|
||||
|
||||
|
Класика предполагает загрузку небольших файликов, а у вас они видимо поболее будут. Тут уже классика не катит, тут надо уже в сторону потоков смотреть.
|
|
#8
|
|||
|
|||
|
суть то не важно что делает кнопка, суть в том как предетвратить многократное нажатие button с очень маленьким промежутком времени. Потому что я находил запросы в поисковиках, но решения так и не было найдено.
|
|
#9
|
||||
|
||||
|
Цитата:
|