Форум: "Начинающим";
Текущий архив: 2009.05.03;
Скачать: [xml.tar.bz2];
ВнизЗакрытие формы. Найти похожие ветки
← →
AlexDan © (2009-02-09 11:13) [0]Форма при нажатии кнопки закрывает саму себя(Close). Напомните пожалуйста(забыл напрочь) что нужно указать в Properties, чтобы она закрылась корректно. иначе при повторном её вызове (show), выбивает приложение(.
← →
{RASkov} © (2009-02-09 11:18) [1]> [0] AlexDan © (09.02.09 11:13)
> что нужно указать в Properties, чтобы она закрылась корректно
:)
Нет там такого свойства)..... Сам пролистай их.... не так уж их и много...
А вот параметры в OnClose - да, мог там выставить caFree, вот и АВ при следующем Шоу
← →
Сергей М. © (2009-02-09 11:21) [2]
> выбивает приложение
Пинком ?
Уж сколько раз тебе говорили - приводи сообщения об ошибках дословно !
А ты по-прежнему продолжаешь нести отсебячину)
← →
AlexDan © (2009-02-09 11:29) [3]> {RASkov} © (09.02.09 11:18) [1]
Да, caFree имеется..
← →
{RASkov} © (2009-02-09 11:30) [4]> [3] AlexDan © (09.02.09 11:29)
> Да, caFree имеется..
Доволен?)
← →
Сергей М. © (2009-02-09 11:31) [5]
> caFree имеется
А зачем ?
← →
AlexDan © (2009-02-09 11:32) [6]> {RASkov} © (09.02.09 11:30) [4]
Вполне..))
← →
AlexDan © (2009-02-09 11:34) [7]> Сергей М. © (09.02.09 11:31) [5]
> А зачем ?
А действительно, зачем нужно caFree? сам бы не вставил, посоветовали можно сказать..
← →
Сергей М. © (2009-02-09 11:37) [8]
> AlexDan © (09.02.09 11:34) [7]
Т.е. ты сначала пишешь и только потом начинаешь думать о написанном ?
Ну ты и фрукт, однако)
> посоветовали можно сказать
Кто ж знал, что у тебя что-то там после этого будет "выбивать" ?
Совет-то давали совсем по иному поводу)
← →
AndreyV © (2009-02-09 11:37) [9]> [0] AlexDan © (09.02.09 11:13)
> Форма при нажатии кнопки закрывает саму себя(Close). Напомните
> пожалуйста(забыл напрочь) что нужно указать в Properties,
> чтобы она закрылась корректно. иначе при повторном её вызове
> (show), выбивает приложение(.
Автоматы в электросети выбивает? круто ты наваял.
← →
AlexDan © (2009-02-09 11:42) [10]> Сергей М. © (09.02.09 11:37) [8]
> Т.е. ты сначала пишешь и только потом начинаешь думать о
> написанном ?
Конечно нет, просто мне нужен результат, а спросить было не у кого..
Так всё таки зачем caFree?
> AndreyV © (09.02.09 11:37) [9]
> Автоматы в электросети выбивает?
Выбивает (выбивало) приложение, автоматы гораздо дальше стоят..:(.
← →
AlexDan © (2009-02-09 11:45) [11]тьфу, цитирование случайно получилось..
← →
Ega23 © (2009-02-09 11:48) [12]
> Так всё таки зачем caFree?
В хелпе уже прочитал и всё понял?
← →
Сергей М. © (2009-02-09 11:48) [13]
> AlexDan © (09.02.09 11:42) [10]
В справке же написано зачем ..
← →
AndreyV © (2009-02-09 11:51) [14]> [10] AlexDan © (09.02.09 11:42)
> > AndreyV © (09.02.09 11:37) [9]
> > Автоматы в электросети выбивает?
> Выбивает (выбивало) приложение, автоматы гораздо дальше
> стоят..:(.
Вот и потрудись объяснить, что за выбивание приложения: оно выбивает, или его выбивают, и как.
← →
Сергей М. © (2009-02-09 11:53) [15]
> мне нужен результат, а спросить было не у кого
Как же не у кого, если тебе "посоветовали" ?
Ведь если советовали, то, наверно, по какому-то конкретно интересовавшему тебя поводу ?
А то ведь получается, что ты справшивал про негорящую лампочку подсветки бардачка, а тебе посоветовали поставить велосипедный руль и танковые гусеницы) .. И с тех пор ты всем этим добром пользуешься, даже не ведая зачем оно тебе)
← →
AlexDan © (2009-02-09 12:03) [16]> Сергей М. © (09.02.09 11:53) [15]
Просто что поразительно, есть у меня другое такое-же приложение (по смыслу), там тоже форма закрывается с Action:=caFree;, но после этого она открывается снова через show и без всяких проблем.. Видно я что-то упустил..).
← →
AndreyV © (2009-02-09 12:08) [17]> [16] AlexDan © (09.02.09 12:03)
> > Сергей М. © (09.02.09 11:53) [15]
> Просто что поразительно, есть у меня другое такое-же приложение
> (по смыслу), там тоже форма закрывается с Action:=caFree;
> , но после этого она открывается снова через show и без
> всяких проблем.. Видно я что-то упустил..).
После Action:=caFree формы не существует, и если она открылась, то не успела перетереться память.
← →
Сергей М. © (2009-02-09 12:10) [18]
> AlexDan © (09.02.09 12:03) [16]
Короче ты лепишь приложение за приложением, нишиша не понимая при этом, где что и почему у тебя происходит при этом)
← →
AlexDan © (2009-02-09 12:12) [19]> Сергей М. © (09.02.09 12:10) [18]
Ну, вы меня совсем обижаете, я уже понял, что в том приложении дело до caFree не доходит..
← →
Сергей М. © (2009-02-09 12:15) [20]
> AlexDan © (09.02.09 12:12) [19]
А что еще думать, если
> форма закрывается с Action:=caFree;, но после этого она
> открывается снова через show и без всяких проблем
?)
← →
Anatoly Podgoretsky © (2009-02-09 12:34) [21]> AlexDan (09.02.2009 11:13:00) [0]
Стойства или метода ЗакройсяКорректно нет.
← →
AlexDan © (2009-02-09 13:25) [22]> Сергей М. © (09.02.09 12:15) [20]
Поражён. Оказывается, код во всех двух проектах одинаков. Но в одном из них метод close не выполнялся (соответственно и procedure TForm2.FormClose). Почему? В делфи 7 инспектор обьектов показывает Events для формы и если там прцедура не прописана (синенькими буквами), то и не выполняется (игнорируется), даже если она есть в коде! Офигеть. Значит смотреть нужно не только на код, а и на настройки инспектора обьектов..
← →
Сергей М. © (2009-02-09 13:31) [23]
> Поражён.
> Офигеть.
Да уж, пренеприятнейшее открытие)
А понасандалил уже кучу приложений)
← →
AlexDan © (2009-02-09 13:43) [24]> Сергей М. © (09.02.09 13:31) [23]
Но это же дико! Т.е. если я напишу код от руки полностью, вставлю в юнит формы, то он не будет работать, даже если правильный..Скорее это недостатки компиллятора.. А проекты работали правильно, проверялись же, это я первый раз такое заметил.
← →
Сергей М. © (2009-02-09 14:02) [25]
> AlexDan © (09.02.09 13:43) [24]
> это же дико!
Неужели ?!programm Dummy;
procedure Foo;
begin
WriteLn("One");
end;
begin
WriteLn("Two");
end.
Что увидишь на экране ?)
← →
Anatoly Podgoretsky © (2009-02-09 14:13) [26]> AlexDan (09.02.2009 13:25:22) [22]
Зачем два проекта с одинаковым кодом?
← →
Сергей М. © (2009-02-09 14:17) [27]
> Anatoly Podgoretsky © (09.02.09 14:13) [26]
> Зачем два проекта с одинаковым кодом?
Ну как зачем ?
Надо же два exe получить, а не один)
← →
Ega23 © (2009-02-09 14:20) [28]
> Т.е. если я напишу код от руки полностью, вставлю в юнит
> формы, то он не будет работать, даже если правильный..Скорее
> это недостатки компиллятора..
Во время своей 9+ лет работы в Delphi я неоднократно слышал: "Глючит Delphi", "Глюк компилятора" и т.п.
Но почему-то всего один раз выяснилось, что имеется не совсем однозначная вещь. ЕМНИП, это когда Пашка Голубь с вариантами наткнулся, типа при Vartype = varBool было недостаточно написать if (Value). Нужно было If (value = true)
Во всех остальных случаях, при детальном рассмотрении, оказывалось, что причина ошибки - кривизна рук разработчика.
← →
Anatoly Podgoretsky © (2009-02-09 14:21) [29]> AlexDan (09.02.2009 13:43:24) [24]
Не надо на компилятор бочку катить, я часто дописываю коди именно вручную, включая изредка и полность, все работает.
← →
Anatoly Podgoretsky © (2009-02-09 14:44) [30]> Ega23 (09.02.2009 14:20:28) [28]
Так и случай с Пашкой такой же.
← →
Ega23 © (2009-02-09 15:02) [31]
> Так и случай с Пашкой такой же.
Я, кстати, точно не помню, что там было. Но крайне любопытная вещь получалась.
По-крайней мере, в том случае, действительно можно было сказать: "Ну Borland и намутили..."
← →
Anatoly Podgoretsky © (2009-02-09 15:23) [32]> Ega23 (09.02.2009 15:02:31) [31]
Проблема лежит на стыке Bool и Boolean
← →
Плохиш © (2009-02-09 15:32) [33]
> AlexDan © (09.02.09 13:43) [24]
>
>
Деточка, у тебя в анкете от года рождения 20 отнять не надо?
← →
Ega23 © (2009-02-09 15:36) [34]
> Проблема лежит на стыке Bool и Boolean
А... Ну да, понял.
← →
Anatoly Podgoretsky © (2009-02-09 16:05) [35]> Плохиш (09.02.2009 15:32:33) [33]
Не отнять, а прибавить
← →
AlexDan © (2009-02-09 16:09) [36]> Плохиш © (09.02.09 15:32) [33]
Рано ещё.).
← →
Плохиш © (2009-02-09 16:27) [37]
> Anatoly Podgoretsky © (09.02.09 16:05) [35]
>
> > Плохиш (09.02.2009 15:32:33) [33]
>
> Не отнять, а прибавить
Точно, спасибо за поправку.
← →
ЮЮ © (2009-02-10 12:07) [38]
> Т.е. если я напишу код от руки полностью, вставлю в юнит
> формы, то он не будет работать, даже если правильный..
То что ты скатал с чужого проекта, это только методы формы. Чтобы код использовался - методы надо вызывать.
> Поражён. Оказывается, код во всех двух проектах одинаков.
> Но в одном из них метод close не выполнялся (соответственно
> и procedure TForm2.FormClose). Почему? В делфи 7 инспектор
> обьектов показывает Events для формы и если там прцедура
> не прописана (синенькими буквами), то и не выполняется (игнорируется),
> даже если она есть в коде! Офигеть. Значит смотреть нужно
> не только на код, а и на настройки инспектора обьектов..
>
Это не настройка инспектора обьектов, а облегчение работы батонокидателям.
Назначение методы формы в качестве обработчика событий компонента можно сделать и в коде:
OnClose := FormClose;
Главное, чтобы этот метод был синенькими буквами :)
← →
AndreyV © (2009-02-10 13:35) [39]> [17] AndreyV © (09.02.09 12:08)
> После Action:=caFree формы не существует, и если она открылась,
> то не успела перетереться память.
Фиг она откроется - деструктор уже отработал. А оказалось,
> [22] AlexDan © (09.02.09 13:25)
что метод не был вызван.
← →
Cep (2009-02-10 14:18) [40]Да, коллеги, это нетленка :)))
Страницы: 1 2 3 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.05.03;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.008 c