Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];
ВнизКак узнать создана ли форма? Найти похожие ветки
← →
MCFire (2002-11-02 16:17) [0]?
← →
Anatoly Podgoretsky (2002-11-02 16:33) [1]Screen
← →
MCFire (2002-11-02 16:36) [2]Anatoly Podgoretsky а по конкретней? Screen єто что?
← →
Calm (2002-11-02 16:45) [3]
var
Но! Когда форма уничтожается, нужно делать не Form1.Free,
Form1:TForm1;
begin
if Form1<>nil
then begin
{Форма создана}
end
else begin
{соответственно, не создана}
end;
end;
а FreeAndNil(Form1), т.к. при вызове метода Free память, выделенная на объект, освобождается, но сам указатель на объект остается (Form1 - это и есть указатель на объект).
А вот FreeAndNil() заниливает этот указатель.
← →
MCFire (2002-11-02 16:48) [4]Calm Спасибо попробую
← →
Anatoly Podgoretsky (2002-11-02 16:52) [5]А я надеялся, что ты хелп посмотрищь :-(
Screen это переменная типа TScreen, посмотри хоть по ней хелп, кратко там содержится список всех созданных форм приложения.
← →
Malder (2002-11-02 17:03) [6]Calm, если указатель на объект типа TForm не равен nil, это не значит, что он указывает на объект типа TForm
← →
Calm (2002-11-02 17:08) [7]Конечно, не значит!
Однако мне никогда в жизни не придет в голову писать вещи типа:
var
Button1:TButon;
Form1:TForm;
begin
...
Form1:=pointer(Button1);
...
end;
← →
Anatoly Podgoretsky (2002-11-02 17:14) [8]Malder © (02.11.02 17:03)
И обратно, если равен nil то это не значит, что форма существует, а вот Screen это одназначно, только существующие формы, что бы не творили программисты со своими глобальными переменными.
← →
Calm (2002-11-02 17:18) [9]Да я же не против...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c