Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Странности с модальной формой [D7, 95/98]


~ShamaN~ ©   (2007-09-17 11:35:00) 

Помогите пожалуйста разобраться со следующей проблемой: в D7 создаю и показываю форму:

Application.CreateForm(TForm5, Form5);
Form5.ShowModal;

 

под XP все работает нормально, а под Windows 98, Me окно ИНОГДА (закономерность я так и не нашел) открывает сзади основной формы. При этом его нельзя сделать активным либо закрыть, т.к. оно меньше по размерам.

Пробовал:
1. SetForegroundWindow( Form5.Handle)
2. BringWindowToTop(Form5.Handle)
3. Application.ProcessMessages перед вызовом ShowModal
4. Делать как написано тут: http://groups.google.com/group/borland.public.delphi.language.objectpascal/browse_thread/thread/ad652db00d31ae95/eb41d743d0c9ee88?lnk=st&q=DisableProcessWindowsGhosting&rnum=5#

Ничего не помогает!


{RASkov}   (2007-09-17 13:01:00) [1]

> [17] Anatoly Podgoretsky ©   (17.09.07 12:50)
> Остынь

Ну вот... :( Ваше "самое доброе дело" помогаю осуществить, ну да ладно....
В [16] как раз и был намек на "правильно задавать вопросы".... ОкЕй... ухожу :)
Удачи.


Anatoly Podgoretsky   (2007-09-17 12:50:00) [2]

> {RASkov}  (17.09.2007 12:33:16)  [16]

Остынь, это не твоя обязанность, не лезь в чужую иерархию.


{RASkov}   (2007-09-17 12:33:00) [3]

> [12] ~shaman~ ©   (17.09.07 12:21)
> В коде все правильно

Нет... не правильно...
Иначе бы ошибки не было :)
Так что ищи эту ошибку, а здесь прекращай флудить, раз спросить нормально не можешь...


Anatoly Podgoretsky   (2007-09-17 12:25:00) [4]

> ~shaman~  (17.09.2007 12:21:12)  [12]

Правильно это как?


Вася Правильный   (2007-09-17 12:25:00) [5]


> открывает сзади основной формы

бывает
alt-tab помогает


{RASkov}   (2007-09-17 12:23:00) [6]

> [11] Сергей М. ©   (17.09.07 12:21)
> Почему не используешь возможности встроенного в Делфи отладчика
> для поиска своей ошибки ?

Потому что самый лучший отладчик для Делфи - это www.delphimaster.ru :)


~shaman~   (2007-09-17 12:21:00) [7]

почему закомментировал TForm4, а вставил код для TForm5?

это я сюда когда ставлял и редактировал случайно изменил. В коде все правильно. Извиниюсь за неточность.


Сергей М.   (2007-09-17 12:21:00) [8]


> ~shaman~ ©   (17.09.07 12:13) [8]
> поясни вопрос.


Почему не используешь возможности встроенного в Делфи отладчика для поиска своей ошибки ?


{RASkov}   (2007-09-17 12:18:00) [9]

> [8] ~shaman~ ©   (17.09.07 12:13)


> И почему не слушаешь [4] Сергей М. ©   (17.09.07 11:52)?

т.е. ответь на его вопрос... :)


{RASkov}   (2007-09-17 12:16:00) [10]

> [6] Anatoly Podgoretsky ©   (17.09.07 12:04)
> Может, но еще с большей вероятностью код в TForm5

Вот в TForm5 - это да, а это должно работать и так
TForm5.Create(nil);
ShowModal
Free;
:)

> [5] ~shaman~ ©   (17.09.07 11:59)

А почему закомментировал TForm 4, а вставил код для TForm 5?
И почему не слушаешь [4] Сергей М. ©   (17.09.07 11:52)?


~shaman~   (2007-09-17 12:13:00) [11]

Сергей М.
поясни вопрос.


Сергей М.   (2007-09-17 12:06:00) [12]


> Скрин ошибки


Плохо замазал суперпуперсекретное имя файла, теперь оно - достояние спецслужб)

Ты не ответил на вопрос по поводу отладчика ..


Anatoly Podgoretsky   (2007-09-17 12:04:00) [13]


> А тот кусок кода, что в [1] ошибок дать не может...

Может, но еще с большей вероятностью код в TForm5


~shaman~   (2007-09-17 11:59:00) [14]

Вот что у меня получилось:
{
 Application.CreateForm(TForm4, Form4);
 Form4.ShowModal;
}
with TForm5.Create(nil) do try
ShowModal
finally
Free;
end;


Скрин ошибки:
http://img207.imageshack.us/img207/1618/errorna5.gif


Сергей М.   (2007-09-17 11:52:00) [15]


> вылетает с ошибками прога


А отладчик тебе на что дан ?


{RASkov}   (2007-09-17 11:51:00) [16]

> [2] ~shaman~ ©   (17.09.07 11:48)

Это не совсем "вместо", а еще и подумать нужно...
Я ведь не вижу твой код и не знаю с какими ошибками и что у тебя там вылетает....
А тот кусок кода, что в [1] ошибок дать не может...


~shaman~   (2007-09-17 11:48:00) [17]

это вместо моего кода? если да - то вылетает с ошибками прога.


{RASkov}   (2007-09-17 11:39:00) [18]

> [0] ~ShamaN~ ©   (17.09.07 11:35)
> Application.CreateForm(TForm5, Form5);
> Form5.ShowModal;

А попробуй так:
with TForm5.Create(nil) do try
 ShowModal
finally
 Free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо