powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проверка существования формы
7 сообщений из 7, страница 1 из 1
Проверка существования формы
    #32053694
vislex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста ответ на следующий вопрос.

В программе динамически создаю дочерние формы MDIChildForm`s.

NameForm:=TNameForm.Create(Self);

Как программно проверить создана дочерняя форма или нет? Свойство VISIBLE не помогает.
Спасибо.
...
Рейтинг: 0 / 0
Проверка существования формы
    #32053713
_svs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прверь NameForm, он не должен быть пустым
...
Рейтинг: 0 / 0
Проверка существования формы
    #32054761
FreePainter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вот как проверяю наличие формы на экране:

function TMainForm.CheckForm(SCapt: String): Boolean;
var Ind_Child: Integer;
begin
CheckForm := False;
for Ind_Child := MDIChildCount - 1 downto 0 do
if MDIChildren[Ind_Child].Caption = SCapt then begin
MDIChildren[Ind_Child].BringToFront;
CheckForm := True;
end;
end;

т.е. если форма найдена она вываливается на верх, ну и если форма найдена (CheckForm = True) я повторно ее не создаю. Хотя создание формы можно возложить на процедуру, т.е. проверить наличие формы на экране, и если она есть, то просто ее поднять на верх, а новую не создавать, или же если нет, то создать ее в процедуре.
...
Рейтинг: 0 / 0
Проверка существования формы
    #32054769
Cherruty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При создании формы запоминай ee Handle в переменную, при ее закрытии обнуляй его и никие проверки на ниличие существование формы не проблема
...
Рейтинг: 0 / 0
Проверка существования формы
    #32058202
just4fun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делай так!
if Assigned(ManagersForm) then
begin
PostMessage(ClientHandle, WM_MDIACTIVATE, ManagersForm.Handle,
0);
end
else
begin
ManagersForm := TManagersForm.Create(Self);
end;
...
Рейтинг: 0 / 0
Проверка существования формы
    #32120742
KeepeR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да но при сохранении Handle нужно использовать глобальные переменные.
B и чем больше этих форм тем больше переменных.
А так запустил функцию (Которую написал FreePainter), задал имя формы (я использовал не Caption а Name) и получил результат.
...
Рейтинг: 0 / 0
Проверка существования формы
    #32120969
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как минимум в двух топиках было про это, поищи сначала, чем спрашивать
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проверка существования формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]