![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Закрытие формы. [D7, XP]
AlexDan © (2009-02-09 11:13:00)Форма при нажатии кнопки закрывает саму себя(Close). Напомните пожалуйста(забыл напрочь) что нужно указать в Properties, чтобы она закрылась корректно. иначе при повторном её вызове (show), выбивает приложение(.
Ega23 (2009-02-09 15:02:00) [81]
> Так и случай с Пашкой такой же.
Я, кстати, точно не помню, что там было. Но крайне любопытная вещь получалась.
По-крайней мере, в том случае, действительно можно было сказать: "Ну Borland и намутили..."
Anatoly Podgoretsky (2009-02-09 14:44:00) [82]> Ega23 (09.02.2009 14:20:28) [28]
Так и случай с Пашкой такой же.
Anatoly Podgoretsky (2009-02-09 14:21:00) [83]> AlexDan (09.02.2009 13:43:24) [24]
Не надо на компилятор бочку катить, я часто дописываю коди именно вручную, включая изредка и полность, все работает.
Ega23 (2009-02-09 14:20:00) [84]
> Т.е. если я напишу код от руки полностью, вставлю в юнит
> формы, то он не будет работать, даже если правильный..Скорее
> это недостатки компиллятора..
Во время своей 9+ лет работы в Delphi я неоднократно слышал: "Глючит Delphi", "Глюк компилятора" и т.п.
Но почему-то всего один раз выяснилось, что имеется не совсем однозначная вещь. ЕМНИП, это когда Пашка Голубь с вариантами наткнулся, типа при Vartype = varBool было недостаточно написать if (Value). Нужно было If (value = true)
Во всех остальных случаях, при детальном рассмотрении, оказывалось, что причина ошибки - кривизна рук разработчика.
Сергей М. (2009-02-09 14:17:00) [85]
> Anatoly Podgoretsky © (09.02.09 14:13) [26]
> Зачем два проекта с одинаковым кодом?
Ну как зачем ?
Надо же два exe получить, а не один)
Anatoly Podgoretsky (2009-02-09 14:13:00) [86]> AlexDan (09.02.2009 13:25:22) [22]
Зачем два проекта с одинаковым кодом?
Сергей М. (2009-02-09 14:02:00) [87]
> AlexDan © (09.02.09 13:43) [24]
> это же дико!
Неужели ?!
programm Dummy;
procedure Foo;
begin
WriteLn('One');
end;
begin
WriteLn('Two');
end.
Что увидишь на экране ?)
AlexDan (2009-02-09 13:43:00) [88]> Сергей М. © (09.02.09 13:31) [23]
Но это же дико! Т.е. если я напишу код от руки полностью, вставлю в юнит формы, то он не будет работать, даже если правильный..Скорее это недостатки компиллятора.. А проекты работали правильно, проверялись же, это я первый раз такое заметил.
Сергей М. (2009-02-09 13:31:00) [89]
> Поражён.
> Офигеть.
Да уж, пренеприятнейшее открытие)
А понасандалил уже кучу приложений)
AlexDan (2009-02-09 13:25:00) [90]> Сергей М. © (09.02.09 12:15) [20]
Поражён. Оказывается, код во всех двух проектах одинаков. Но в одном из них метод close не выполнялся (соответственно и procedure TForm2.FormClose). Почему? В делфи 7 инспектор обьектов показывает Events для формы и если там прцедура не прописана (синенькими буквами), то и не выполняется (игнорируется), даже если она есть в коде! Офигеть. Значит смотреть нужно не только на код, а и на настройки инспектора обьектов..
Anatoly Podgoretsky (2009-02-09 12:34:00) [91]> AlexDan (09.02.2009 11:13:00) [0]
Стойства или метода ЗакройсяКорректно нет.
Сергей М. (2009-02-09 12:15:00) [92]
> AlexDan © (09.02.09 12:12) [19]
А что еще думать, если
> форма закрывается с Action:=caFree;, но после этого она
> открывается снова через show и без всяких проблем
?)
AlexDan (2009-02-09 12:12:00) [93]> Сергей М. © (09.02.09 12:10) [18]
Ну, вы меня совсем обижаете, я уже понял, что в том приложении дело до caFree не доходит..
Сергей М. (2009-02-09 12:10:00) [94]
> AlexDan © (09.02.09 12:03) [16]
Короче ты лепишь приложение за приложением, нишиша не понимая при этом, где что и почему у тебя происходит при этом)
AndreyV (2009-02-09 12:08:00) [95]> [16] AlexDan © (09.02.09 12:03)
> > Сергей М. © (09.02.09 11:53) [15]
> Просто что поразительно, есть у меня другое такое-же приложение
> (по смыслу), там тоже форма закрывается с Action:=caFree;
> , но после этого она открывается снова через show и без
> всяких проблем.. Видно я что-то упустил..).
После Action:=caFree формы не существует, и если она открылась, то не успела перетереться память.
AlexDan (2009-02-09 12:03:00) [96]> Сергей М. © (09.02.09 11:53) [15]
Просто что поразительно, есть у меня другое такое-же приложение (по смыслу), там тоже форма закрывается с Action:=caFree;, но после этого она открывается снова через show и без всяких проблем.. Видно я что-то упустил..).
Сергей М. (2009-02-09 11:53:00) [97]
> мне нужен результат, а спросить было не у кого
Как же не у кого, если тебе "посоветовали" ?
Ведь если советовали, то, наверно, по какому-то конкретно интересовавшему тебя поводу ?
А то ведь получается, что ты справшивал про негорящую лампочку подсветки бардачка, а тебе посоветовали поставить велосипедный руль и танковые гусеницы) .. И с тех пор ты всем этим добром пользуешься, даже не ведая зачем оно тебе)
AndreyV (2009-02-09 11:51:00) [98]> [10] AlexDan © (09.02.09 11:42)
> > AndreyV © (09.02.09 11:37) [9]
> > Автоматы в электросети выбивает?
> Выбивает (выбивало) приложение, автоматы гораздо дальше
> стоят..:(.
Вот и потрудись объяснить, что за выбивание приложения: оно выбивает, или его выбивают, и как.
Ega23 (2009-02-09 11:48:00) [99]
> Так всё таки зачем caFree?
В хелпе уже прочитал и всё понял?
Сергей М. (2009-02-09 11:48:00) [100]
> AlexDan © (09.02.09 11:42) [10]
В справке же написано зачем ..