|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
При создании формы она автоматически становится активной
Вопрос странный до безобразия... Сам в шоке...
Дописываю чужой не малый проект, первый кодер был явно ... странный в общем, типа для создания и редактирования записей в БД использовал 2 разные формы с идентичным ДФМ и т.п. Решил это безобразие переделать, взял одну и решил напихать туда функций и т.п. Столкнулся с неведомой штукой - при попытке создать форму - она автоматически отображается и становится активной. Пробовал через .Hide и API прятать ее - начинает мерзко фликать (фон завален компонентами) фликать Посмотрел, как он сам отображал формы - оказалось - НИКАК! Во всем проекте отображение форм осуществляется ТОЛЬКО так: FormX := TFormX.create(mainform); Плюс все его типа модальные формы имели стиль fsStayOnTop перерыл весь код, класс TScreen ни где не используется, ActiveForm не проверяется, про WIN API предыдущий кодер вообще не слышал... Пробовал создавать и стандартно (как выше) и через Application.Create и - тот же эффект. Главная форма - MDI, никаких обработчиков не имеет. Application через Jedi тож... Z-Order ничем не трогается и т.п. OnShow, OnActive, OnDeactive нигде не обрабатывается... Единственное, в проекте стоит раздутая и мне до селе не известная библиотека DevExpress, Zeos и Jedi такое точно никогда не давали) Просьба помочь, не могу понять, что там навертели |
#2
|
|||
|
|||
Без кода сложно что-то сказать. Как вариант, onCreate, но может, вы его уже смотрели
|
#3
|
|||
|
|||
Цитата:
Да нет ни onCreate, вообще ничего в обработчиках не создаваемых не главной формы... Код выложить не могу - там пара мегов написана, ток интересного вообще ничего нет - первый кодер явно студентом 1 курса был, не ни вызовов API ни лишней строчки в PDR Разрабатывалось это скорее всего на 7-8 дельфе, я компилю на 14, 7-я стоит, но туда эту либу впихивать - день потерять... Мое предположение - старый баг в forms.pas, о котором я не слышал. Кто помнит - было такое со fsStayOnTop, которое лечили procedure TFormCX.FormPaint(Sender: TObject); begin Аpplication.RestoreTopMosts; end; У меня лет так много назад было, что в MDI приложении модальная форма через раз ошибку давала, помнится лечил редактированием ручками сгенерированного DFM |
#4
|
|||
|
|||
ШАЙТАН! Разобрался)
Если долго играться со стилями и типами формы, IDE выставляет visible в true - при этом модал не работает. Вроде всегда как то все самой собой всегда работало... Всем спасибо, пойду править 50 форм Закрыли тему |