![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 25
|
![]()
Всем привет! У меня приложение MDI. Динамически создается куча дочерних окон. Глюк: если развернуть дочернее окно, то при открытии нового дочернего окна (с неизменяемыми размерами типа single) все окна восстанавливаются до нормального размера... А если сингловое окно сделать не дочерним, а обычным, то при потере фокуса оно вообще пропадает. Как можно от этого избавиться?
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
![]()
Код напиши пожалуйста ....
Skype : UASm1Le.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 25
|
![]()
Ворма создается так:
Код:
Код:
13:46 И еще такой вопрос. При создании формы проверяется указатель, если он равен nil то форма создается, чтобы 2 такие формы одновременно не были открыты. Но почему-то при close указатель не обнуляется, зараза, а если прописать EditContmanForm:=nil в OnDestroy то вываливается ошибка Access violation Намек насчет кнопки "Правка" понятен? Читаем правила... Последний раз редактировалось mihali4; 16.03.2009 в 22:41. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,089
|
![]()
Кажется нужно обрабатывать у дочерней формы событие OnClose и там устанавливать значение Action. По-умолчанию они не то скрываются, не то сворачиваются. Я не помню уже, давно это было...
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 25
|
![]()
Да в том-то и дело, если форма sizable то она при close сворачивается, но у меня она singl. Я думаю из-за этого глюк. Вот как его обойти...
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,089
|
![]()
попробовал создать single дочернюю MDI форму:
Код:
ЗЫ. у формы дочерней при создании размеры не пересчитываются? А то ведь в MDI либо всё развёрнуто на всю форму главную, либо все формы "нормального" размера Последний раз редактировалось pu4koff; 05.12.2008 в 15:17. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 01.03.2008
Сообщений: 25
|
![]()
Вообще писец. Докопался дальше. Даже если оставить в обработчике нажатия на кнопку ок только close, ошибка доступа. Если закрывать крестиком, то все в порядке. Может глюк делфи?
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
![]()
Вобщем тебе нужно в OnClose написать
Action:=caFree; И формы дочерние формы будут уничажаться |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 27.07.2007
Сообщений: 123
|
![]() Цитата:
я возился тут с этим вопросом цитирую справку "caFree The form is closed and all allocated memory for the form is freed. " что в переводе "Форма закрыта и вся размещенная память для формы освобождена." е если проверить существование таким кодом: Код:
вот и у меня вопрос. - Как уничтожить форму чтобы вновь создавалось одно окно
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
![]() |
|
![]() |
![]() |
![]() |
#10 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
![]()
Такая проверка чистейшей воды рэндом. После вызова метода Free память объекта помечается как свободная и будет затерта при последующих операциях выделения памяти. Ну не может объект своим же методом очистить занимаемую собой память!
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с дочерними окнами | artem779 | БД в Delphi | 3 | 17.03.2009 13:55 |
Вопрос: работа с окнами | Акашаев Нурлан | Общие вопросы Delphi | 1 | 26.06.2008 10:12 |
глюк с окнами Delphi | Andrei | Win Api | 4 | 06.02.2008 22:51 |
интерестная заморочка!;) | АС Плюшкин | Помощь студентам | 3 | 29.10.2007 12:09 |
работа с окнами | Briz | Общие вопросы Delphi | 5 | 07.10.2007 22:20 |