Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.01;
Скачать: CL | DM;

Вниз

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

 
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.



Страницы: 1 вся ветка

Текущий архив: 2002.04.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
1-146
Mikel13
2002-03-21 07:47
2002.04.01
Chart


1-138
Sound
2002-03-22 02:22
2002.04.01
Можно ли перевести String в PChar?


3-49
boogier
2002-03-07 14:33
2002.04.01
Как избежать ошибки при выпонении запроса SQL


1-108
совсем Новенький
2002-03-21 13:25
2002.04.01
Как узнать Ip в формате LongInt


3-19
Yulik
2002-03-06 11:33
2002.04.01
DBGrid