Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Вниз

как проверить что форма убита? 


Ivan_A   (2002-03-20 16:30) [0]

Форма - available.
if InForm = nil then ...(срабатывает)
InForm:=TInForm.Create(Self);
try
InForm.ShowModal;
finally
InForm.Free;
end;

if InForm = nil then ...(не срабатывает)



Fellomena   (2002-03-20 16:34) [1]

А if InForm = nil then... и не должна срабатывать, потому что в InForm всё ещё содержится указатель на форму.
Делай:
finally
InForm.Free;
InForm:= nil;
end;



serg   (2002-03-20 17:14) [2]

Проверка на наличие формы:
1. if Assigned(TheForm) and (TObject(TheForm) is TForm) then
Это существующая форма

2. for I:=0 to Screen.FormCount-1 do
if Screen.Forms[I] = TheForm then begin
Форма существует.
Break;
end



Вячеслав   (2002-03-20 18:18) [3]

2 serg
Функция Assigned как раз и проверяет на nil, а это не всегда работает.
Работает , если ее освобождать так как написала Fellomena.



oomneeq   (2002-03-20 18:46) [4]

>2. for I:=0 to Screen.FormCount-1 do
> if Screen.Forms[I] = TheForm then begin
> Форма существует.
> Break;
> end
Хороший способ, спасибо за идею.
Главное, что нечистота указателя по барабану все эти чудеса с Assigned не влияют



Mikhail   (2002-03-20 18:49) [5]

procedure FreeAndNil(var Obj);

Description

Use FreeAndNil to ensure that a variable is nil after you free the object it references. Pass any variable that represents an object as the Obj parameter.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.043 c
1-207             tovSuhov              2002-03-20 12:29  2002.04.01  
Опять фокус с фокусом...


1-147             Doom                  2002-03-20 09:29  2002.04.01  
На первый взгляд вопрос простой...


6-264             Velocity              2002-01-21 06:07  2002.04.01  
DLL и сокеты


6-275             Satrap                2002-01-18 16:04  2002.04.01  
Обработка искл. ситуаций в сокетах


14-318            lel (A)               2002-02-15 14:41  2002.04.01  
Почему, в любом обществе, всегда существует класс недовольных.??? 8(((((