if(Form1 == NULL)return;
...
Как узнать создана ли форма?
Возможно кому-то также будет полезно то же, но относительно активности [COLOR=blue](A)[/COLOR].
Как это сделать?
Цитата:
Originally posted by only
Перед обращением к форме (A) из другой формы (B), нужно узнать создана ли она [COLOR=blue](A)[/COLOR].
Возможно кому-то также будет полезно то же, но относительно активности [COLOR=blue](A)[/COLOR].
Как это сделать?
Перед обращением к форме (A) из другой формы (B), нужно узнать создана ли она [COLOR=blue](A)[/COLOR].
Возможно кому-то также будет полезно то же, но относительно активности [COLOR=blue](A)[/COLOR].
Как это сделать?
Код:
не всегда это так просто - если форма по ходу работы приложения удаляется и создается по нескольку раз, то надо еще при удалении формы обнулять указатель. потому что delete его не обнуляет.
Цитата:
Originally posted by Relax
не всегда это так просто - если форма по ходу работы приложения удаляется и создается по нескольку раз, то надо еще при удалении формы обнулять указатель. потому что delete его не обнуляет.
не всегда это так просто - если форма по ходу работы приложения удаляется и создается по нескольку раз, то надо еще при удалении формы обнулять указатель. потому что delete его не обнуляет.
Дык про это и говорят:
если delete Form1; Form1 = NULL сделано, то формы нет. Если указатель на создаваемую форму не хранится, то FindWindow(...)
Цитата:
Originally posted by GIZMO
Дык про это и говорят:
если delete Form1; Form1 = NULL сделано, то формы нет. Если указатель на создаваемую форму не хранится, то FindWindow(...)
Дык про это и говорят:
если delete Form1; Form1 = NULL сделано, то формы нет. Если указатель на создаваемую форму не хранится, то FindWindow(...)
кто говорит? нигде не указано, что указатель не хранится... и лучше уж тогда мутексы использовать, чем FindWindow - надежнее...
Цитата:
Originally posted by Relax
кто говорит? нигде не указано, что указатель не хранится...
кто говорит? нигде не указано, что указатель не хранится...
Никто не говорит, поэтому рассматриваем оба варианта:
1. Указатель хранится -
Код:
if(Form1 == NULL)return;
все и нехер думать.
2. Указатель не хранится используем одно из -
а) FindWindow
б) Screen::Forms
с) Application::Components //если форма была создана TForm1(Application)
Цитата:
Originally posted by Relax
кто говорит? нигде не указано, что указатель не хранится... и лучше уж тогда мутексы использовать, чем FindWindow - надежнее...
кто говорит? нигде не указано, что указатель не хранится... и лучше уж тогда мутексы использовать, чем FindWindow - надежнее...
Вопрос был о том как проверить - объект на который указывает указатель - он жив или нет. Все остальное уместно только в контексте конкретной задачи.
Form1 = NULL; - вот ключевая строка, которой не хватало в первом посте _kot - а...