Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Зависание формы во время выполнения задачи [D7, XP]


lewka-serdceed ©   (2008-06-29 18:43:00) 

Привет!!!
Обрабатывается вот такая процедура:
procedure TForm1.Button1Click(Sender: TObject);
var is_available: boolean;
begin
is_available:=false;
try
IdHTTP1.Head(Edit1.Text);
if IdHTTP1.ResponseCode=200 then
is_available:=true
else
is_available:=false;
except
is_available:=false; end;
if is_available=true then
begin
label1.Caption:='Достепен ресурс';
Memo1.Lines.Add(IdHTTP1.Get(edit1.Text));
end
else
label1.Caption:= 'Не Достепен ресурс'
end;

И пока она выполняется с формой нельзя ни чего сделать(не переместить) она на это время зависает.
Млжно ли этого избежать???


{RASkov}   (2008-06-30 10:51:00) [1]

> [6] brother ©   (30.06.08 10:00)
> те
> > if is_available then
>
> уже не канает???

Если ты не КП, то нет
:о)


brother   (2008-06-30 10:00:00) [2]


> Булевые переменные проверяются не так, а вот так:if is_available=true
> and not is_available=false thenиначе иногда не срабатывает.
> ..

те
> if is_available then

уже не канает???


lewka-serdceed   (2008-06-29 20:24:00) [3]

Понял спасибо


Тын-Дын   (2008-06-29 20:16:00) [4]


> Млжно ли этого избежать???


1. Положить на форму idAntiFreeze или выполнять запрос в отдельном потоке.

2. if is_available=true then
ПРоверять достаточно так: if is_available then


{RASkov}   (2008-06-29 20:11:00) [5]

> [2] lewka-serdceed   (29.06.08 19:58)

Да ты и по русски вообще не понимаешь... :(
Тебе по русски в каждой ветке отвечают, а ты все по своему делаешь. И даже нисколько в тебе не остается...
Когда ты перестанешь пугать посетителей форума своим кодом? :)
И, кстати, замечание:

> if is_available=true then

Булевые переменные проверяются не так, а вот так:
if is_available=true and not is_available=false then
иначе иногда не срабатывает...


lewka-serdceed   (2008-06-29 19:58:00) [6]

я не очень понимаю английский. Можно что-нибудь на русском?


Amoeba   (2008-06-29 19:32:00) [7]

Установи эту примочку для форматирования текста:
http://www.aew.wur.nl/UK/Delforexp/
Разбираться в не отформатированном коде нет желания.


Наверх

Титульная страница Поиск, карта сайта Написать письмо