Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.07.2011, 18:03
Anvil Anvil вне форума
Прохожий
 
Регистрация: 02.07.2011
Сообщения: 3
Репутация: 10
По умолчанию При создании формы она автоматически становится активной

Вопрос странный до безобразия... Сам в шоке...

Дописываю чужой не малый проект, первый кодер был явно ... странный в общем, типа для создания и редактирования записей в БД использовал 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  
Старый 02.07.2011, 18:15
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Без кода сложно что-то сказать. Как вариант, onCreate, но может, вы его уже смотрели
Ответить с цитированием
  #3  
Старый 02.07.2011, 18:24
Anvil Anvil вне форума
Прохожий
 
Регистрация: 02.07.2011
Сообщения: 3
Репутация: 10
По умолчанию

Цитата:
Сообщение от ChinYan
Без кода сложно что-то сказать. Как вариант, onCreate, но может, вы его уже смотрели

Да нет ни onCreate, вообще ничего в обработчиках не создаваемых не главной формы... Код выложить не могу - там пара мегов написана, ток интересного вообще ничего нет - первый кодер явно студентом 1 курса был, не ни вызовов API ни лишней строчки в PDR

Разрабатывалось это скорее всего на 7-8 дельфе, я компилю на 14, 7-я стоит, но туда эту либу впихивать - день потерять...

Мое предположение - старый баг в forms.pas, о котором я не слышал.
Кто помнит - было такое со fsStayOnTop, которое лечили
procedure TFormCX.FormPaint(Sender: TObject);
begin
Аpplication.RestoreTopMosts;
end;

У меня лет так много назад было, что в MDI приложении модальная форма через раз ошибку давала, помнится лечил редактированием ручками сгенерированного DFM
Ответить с цитированием
  #4  
Старый 02.07.2011, 18:54
Anvil Anvil вне форума
Прохожий
 
Регистрация: 02.07.2011
Сообщения: 3
Репутация: 10
По умолчанию

ШАЙТАН! Разобрался)
Если долго играться со стилями и типами формы, IDE выставляет visible в true - при этом модал не работает. Вроде всегда как то все самой собой всегда работало...

Всем спасибо, пойду править 50 форм

Закрыли тему
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:35.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter