Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - MainMenu и выход из программы

Ответить
Настройки темы
Delphi - MainMenu и выход из программы

Пользователь


Сообщения: 108
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Добрый день. В проге имеется главное меню, и конечно же стандартная менюшка "Выход", все, что надо сделать при нажатии на эту клавишу, это выполнить Form.Close, но вот в чем проблема, если прописать в обработчике нажатия Close или Form.Close, то компилятор ругается, будто нет соответствующей процедуры и если запустить прогу вывалится AV.
Создавать же обработчик и в нем писать одну единственную команду Close бред... Как быть?

Отправлено: 05:25, 09-02-2013

 

Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


Цитата novashdima:
Как быть? »
Начать приводить примеры кода и ошибок компилятора.
А вообще, не Form.Close, а Form1.Close (если имя формы не менялось)
что то я сейчас ленюсь теорию с практикой на пальцах объяснять

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 09:44, 09-02-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата novashdima:
Создавать же обработчик и в нем писать одну единственную команду Close бред... Как быть? »
А как вообще вы хотите выполнить "действие", не создавая обработчик?

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 16:08, 09-02-2013 | #3


Пользователь


Сообщения: 108
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата lxa85:
если имя формы не менялось »
Имя формы менялось, поэтому Form.Close я привел для примера.

Цитата lxa85:
Начать приводить примеры кода и ошибок компилятора. »
Я итак вроде бы понятно написать, что имеется на форме компонент MainMenu, в этом MainMenu есть Item, при событии OnClick по которому надо делать Close. Если написать в обработчик Close то компилятор говорит, мол не найдена процедура обработки Close, удалить описание? Я говорю нет, и тогда при запуске программы вылетает AV (Access Violation), что логично.

Цитата LilLoco:
А как вообще вы хотите выполнить "действие", не создавая обработчик? »
Можно создать свою процедуру и повесить ее на обработку любых событий нескольких компонентов, почему тогда нельзя на обработку повесить вызов не своей процедуры, а вызов обработчика формы?

Отправлено: 16:33, 09-02-2013 | #4


Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


Меня поражает нежелание людей приводить кусочек исходного текста. Я же не весь код прошу, а только проблемный участок. Может там синтаксическая ошибка, может логическая, нам как угадывать?
Вот сложно привести небольшой фрагмент описания формы, и вызов процедуры MainMenu?
Цитата novashdima:
Можно создать свою процедуру и повесить ее на обработку любых событий нескольких компонентов, почему тогда нельзя на обработку повесить вызов не своей процедуры, а вызов обработчика формы? »
Три раза перечитал, три раза не понял. Наверно из-за нарушений принципов ООП.
---
Еще раз прошу привести фрагмент проблемного кода.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:37, 09-02-2013 | #5


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата lxa85:
Три раза перечитал, три раза не понял. »
А я после прочтения второй раз, думаю, что автор пытается запихать не в код обработчика метод Close, а в имя обработчика.
Что то типа этого:
вместо
Код: Выделить весь код
procedure TForm1.НажатиеПунктаМеню(Sender: TObject);
begin
  Form.Close;
end
это
Код: Выделить весь код
ПунктМеню.OnClick:=Form.Close;
Цитата novashdima:
Я итак вроде бы понятно написать »
Но никто не понять, увы...

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:48, 09-02-2013 | #6


Пользователь


Сообщения: 108
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата LilLoco:
А я после прочтения второй раз, думаю, что автор пытается запихать не в код обработчика метод Close, а в имя обработчика. »
Да, все верно
Цитата LilLoco:
ПунктМеню.OnClick:=Form.Close; »
Так сделать реально?

Отправлено: 19:44, 09-02-2013 | #7


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата novashdima:
Так сделать реально? »
А в документации почитать — реально или нет — нельзя?!

Отправлено: 21:22, 09-02-2013 | #8


Пользователь


Сообщения: 108
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
А в документации почитать — реально или нет — нельзя?! »
Вот все, что есть в документации

Отправлено: 23:02, 09-02-2013 | #9


Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


novashdima, это нарушение принципов ООП. Я завтра картинку нарисую для наглядности. Некорректное взаимодействие объектов.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:01, 10-02-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - MainMenu и выход из программы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Выход в интернет из автоматического задания (программы) thundersilence Windows Server 2008/2008 R2 0 21-09-2012 10:27
VBA - выход из цикла иоанн Программирование и базы данных 2 26-05-2009 22:24
Visual Basic .NET - отследить выход из программы StePashKo Программирование и базы данных 2 07-10-2006 16:32
MainMenu DelphiLesson Программирование и базы данных 2 14-09-2003 16:01
Выход из KDE karlison Общий по Linux 8 03-02-2003 09:42




 
Переход