Delphi - MainMenu и выход из программы
-
novashdima
Delphi - MainMenu и выход из программы
Добрый день. В проге имеется главное меню, и конечно же стандартная менюшка "Выход", все, что надо сделать при нажатии на эту клавишу, это выполнить Form.Close, но вот в чем проблема, если прописать в обработчике нажатия Close или Form.Close, то компилятор ругается, будто нет соответствующей процедуры и если запустить прогу вывалится AV.
Создавать же обработчик и в нем писать одну единственную команду Close бред... Как быть?
Создавать же обработчик и в нем писать одну единственную команду Close бред... Как быть?
-
lxa85
Re: Delphi - MainMenu и выход из программы
Цитата novashdima:
Как быть?
Начать приводить примеры кода и ошибок компилятора.
А вообще, не Form.Close, а Form1.Close (если имя формы не менялось)
что то я сейчас ленюсь теорию с практикой на пальцах объяснять
Как быть?
Delphi - MainMenu и выход из программы
Начать приводить примеры кода и ошибок компилятора.
А вообще, не Form.Close, а Form1.Close (если имя формы не менялось)
что то я сейчас ленюсь теорию с практикой на пальцах объяснять
-
Любезный
Re: Delphi - MainMenu и выход из программы
Цитата novashdima:
Создавать же обработчик и в нем писать одну единственную команду Close бред... Как быть?
А как вообще вы хотите выполнить "действие", не создавая обработчик?
Создавать же обработчик и в нем писать одну единственную команду Close бред... Как быть?
Delphi - MainMenu и выход из программы
А как вообще вы хотите выполнить "действие", не создавая обработчик?
-
LilLoco
Re: Delphi - MainMenu и выход из программы
Цитата lxa85:
если имя формы не менялось
Имя формы менялось, поэтому Form.Close я привел для примера.
Цитата lxa85:
Начать приводить примеры кода и ошибок компилятора.
Я итак вроде бы понятно написать, что имеется на форме компонент MainMenu, в этом MainMenu есть Item, при событии OnClick по которому надо делать Close. Если написать в обработчик Close то компилятор говорит, мол не найдена процедура обработки Close, удалить описание? Я говорю нет, и тогда при запуске программы вылетает AV (Access Violation), что логично.
Цитата LilLoco:
А как вообще вы хотите выполнить "действие", не создавая обработчик?
Можно создать свою процедуру и повесить ее на обработку любых событий нескольких компонентов, почему тогда нельзя на обработку повесить вызов не своей процедуры, а вызов обработчика формы?
если имя формы не менялось
Delphi - MainMenu и выход из программы
Имя формы менялось, поэтому Form.Close я привел для примера.
Цитата lxa85:
Начать приводить примеры кода и ошибок компилятора.
Delphi - MainMenu и выход из программы
Я итак вроде бы понятно написать, что имеется на форме компонент MainMenu, в этом MainMenu есть Item, при событии OnClick по которому надо делать Close. Если написать в обработчик Close то компилятор говорит, мол не найдена процедура обработки Close, удалить описание? Я говорю нет, и тогда при запуске программы вылетает AV (Access Violation), что логично.
Цитата LilLoco:
А как вообще вы хотите выполнить "действие", не создавая обработчик?
Delphi - MainMenu и выход из программы
Можно создать свою процедуру и повесить ее на обработку любых событий нескольких компонентов, почему тогда нельзя на обработку повесить вызов не своей процедуры, а вызов обработчика формы?
-
novashdima
Re: Delphi - MainMenu и выход из программы
Меня поражает нежелание людей приводить кусочек исходного текста. Я же не весь код прошу, а только проблемный участок. Может там синтаксическая ошибка, может логическая, нам как угадывать?
Вот сложно привести небольшой фрагмент описания формы, и вызов процедуры MainMenu?
Цитата novashdima:
Можно создать свою процедуру и повесить ее на обработку любых событий нескольких компонентов, почему тогда нельзя на обработку повесить вызов не своей процедуры, а вызов обработчика формы?
Три раза перечитал, три раза не понял. Наверно из-за нарушений принципов ООП.
---
Еще раз прошу привести фрагмент проблемного кода.
Вот сложно привести небольшой фрагмент описания формы, и вызов процедуры MainMenu?
Цитата novashdima:
Можно создать свою процедуру и повесить ее на обработку любых событий нескольких компонентов, почему тогда нельзя на обработку повесить вызов не своей процедуры, а вызов обработчика формы?
Delphi - MainMenu и выход из программы
Три раза перечитал, три раза не понял. Наверно из-за нарушений принципов ООП.
---
Еще раз прошу привести фрагмент проблемного кода.
-
lxa85
Re: Delphi - MainMenu и выход из программы
Цитата lxa85:
Три раза перечитал, три раза не понял.
А я после прочтения второй раз, думаю, что автор пытается запихать не в код обработчика метод Close, а в имя обработчика.
Что то типа этого:
вместо
Код:
это
Код:
Цитата novashdima:
Я итак вроде бы понятно написать
Но никто не понять, увы...
Три раза перечитал, три раза не понял.
Delphi - MainMenu и выход из программы
А я после прочтения второй раз, думаю, что автор пытается запихать не в код обработчика метод Close, а в имя обработчика.
Что то типа этого:
вместо
Код:
Код: Выделить всё
procedure TForm1.НажатиеПунктаМеню(Sender: TObject);
begin
Form.Close;
endэто
Код:
Код: Выделить всё
ПунктМеню.OnClick:=Form.Close;Цитата novashdima:
Я итак вроде бы понятно написать
Delphi - MainMenu и выход из программы
Но никто не понять, увы...
-
LilLoco
Re: Delphi - MainMenu и выход из программы
Цитата LilLoco:
А я после прочтения второй раз, думаю, что автор пытается запихать не в код обработчика метод Close, а в имя обработчика.
Да, все верно
Цитата LilLoco:
ПунктМеню.OnClick:=Form.Close;
Так сделать реально?
А я после прочтения второй раз, думаю, что автор пытается запихать не в код обработчика метод Close, а в имя обработчика.
Delphi - MainMenu и выход из программы
Да, все верно
Цитата LilLoco:
ПунктМеню.OnClick:=Form.Close;
Delphi - MainMenu и выход из программы
Так сделать реально?
-
novashdima
Re: Delphi - MainMenu и выход из программы
Цитата novashdima:
Так сделать реально?
А в документации почитать — реально или нет — нельзя?!
Так сделать реально?
Delphi - MainMenu и выход из программы
А в документации почитать — реально или нет — нельзя?!
-
Iska
Re: Delphi - MainMenu и выход из программы
Цитата Iska:
А в документации почитать — реально или нет — нельзя?!
Вот все, что есть в документации

А в документации почитать — реально или нет — нельзя?!
Delphi - MainMenu и выход из программы
Вот все, что есть в документации

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