![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Странности с модальной формой [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;