Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 17:35 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Для одной (FormFirst) формы пишешь OnCloseQuery (или что там нравится) , из истальных делаешь доступной эту форму через USES, и в обработчиках события OnCloseQuery этих форм указываешь FormFirst.OnCloseQuery Или тебе код нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 17:40 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Я создаю actionlist, расположил его в главной форме и хочу, что во всех дочерних формочках по нажатию кнопочки Close, вызывался этот action. Так вот мне нужно написать процедуру для этого action. У меня MDI приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 17:47 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
То же самое, только вопрос у тебя, наверное, "Как убить дочернюю MDI - форму"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 18:23 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Создайте форму, с кнопкой Close. В обработчике нажатия этой кнопки вызывайте нужный action. Все дочерние формы унаследуйте не от TForm, а от созданной формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 18:50 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
А убить MDI-форму - в OnClose Action := caFree ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 18:54 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Неа, Дмитрий Лобань прав. А по-другому можно сделать? Еще раз. Я не хочу писать в каждой из 20 форм обработчик события по нажатию кпонки Закрыть. И спрашивал можно ли написать универсальную процедуру, подходящую для всех форм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 09:17 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
2Hel975: А что просто сделать USES MainForm в дочерних формах и, скажем в OnCreate дочерней формы: OnClose := MainForm.OnCloseQuery не проходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 09:32 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Не подходит. Причем тут MainForm.OnCloseQuery? Еще раз. У меня есть action - actClose. Я его цепляю к кнопочки - Закрыть форму. Пишу обработчик. Что типа: procedure TfrmMain.actCloseExecute(Sender: TObject); begin .... Close; end; Во всех формах, где есть аналогичная кнопочка вызывается этот action. Так вот что вместо Close надо написать, чтобы у меня закрывалась не та форма, где находиться ActionList, а форма, где нажата кнопка Закрыть? Или я не понимаю ваше решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 09:47 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
А если не использовать action? Все действия которые у вас выполняются в actione выполняйте в обработчике нажатия кнопки Close формы предка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 10:10 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Дмитрий ваш метод хорош я не спорю. А по другому можно сделать или это единственное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 10:13 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
- Обратится в Action-е к компоненту который его вызвал - спросить у него кто его родительская форма - закрыть ее Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 10:34 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
1. Создать форму и прописать все че надо. 2. Унаследовать прочие формы от нее. если другие формы уже есть - делаем 1 и в описании других форм меняем class. over. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 10:48 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Это решение я и хотел услышать. Только у меня компилятор выдает ошибку - [Error] uMAIN.pas(106): Undeclared identifier: 'ActionComponent' Заменил вместо ActionComponent ActionList, TButton - TSpeedButton. Программа запискается, но формы не закрываются, хотя в эту процедуру заходят. Посмотрел в дебугере. :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 10:52 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
зачем ActionList нужно именно ActionComponent - это и будет ваша кнопка а уже от кнопки идете выше если кнопка лежит непосредственно на форме то будет как в моем примере если есть промежуточные контролы то нужно будет дальше проходить по Parent-ам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 10:55 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
> all через одно место и в рай ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 10:57 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
есть промежуточный - панель ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 10:59 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
2 KirillovA, Не хами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:00 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
2 LexusR, Выдает всю ту же ошибку. Что добавить то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:03 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
тогда Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:03 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
procedure TForm1.acCloseFormExecute(Sender: TObject); begin TForm(TPanel(TSpeedButton(TAction(sender).ActionComponent).Parent).Parent).Close; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:04 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
у меня в Delphi6 все работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:04 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Я понимаю. Именно так и сделал, компилятор выдает ту же ошибку - [Error] uMAIN.pas(106): Undeclared identifier: 'ActionComponent' Может какой то библиотеки не хватает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:05 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
компонента не хватает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:06 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32357586&tid=2115387]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 388ms |

| 0 / 0 |
