Этот баннер — требование Роскомнадзора для исполнения 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 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
ActionComponent - это свойство TAction - и всяко должно быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:08 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
У меня Дельфи 5. Мож поэтому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:11 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
вот тестовые формы проверь у себя соответствие взаимосвязи форм и uses-ы главная Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. дочерняя Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:14 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
соответственно SpeedButton1.Action := Form1.acCloseForm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:15 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
посмотри в Helpe может правда у Delphi5 нет e TAction свойства ActionComponent или оно по другому называется или есть что-нить в этом же роде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:17 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
или попробуй к нему обратиться через базовый компонент типа Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:21 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
В 5-м нет, в 7-м есть. Сейчас попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:23 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Теперь выдает ошибку - Access violation at ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:25 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Через базовый тоже выдает Access violation. Ладно следаем по-тупому. Скопирую ваш код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:29 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Ваш пример пошел. Буду разбираться со своим проектом. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:37 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
есть еще вариант - у кнопок в дочерних формах не выставлять свойство Action а Action вызывать на OnClick при этом передавая в Action идентификатор формы типа так Код: plaintext 1. 2. 3. 4. 5. такой обработчик во всех дочерних формах одинаковый а в главной закрываешь форму по переданному идентификатору Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 11:57 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 12:10 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
авторЯ создаю actionlist, расположил его в главной форме и хочу, что во всех дочерних формочках по нажатию кнопочки Close, вызывался этот action. Так вот мне нужно написать процедуру для этого action. У меня MDI приложение. Я вот как я делаю. На главной MDI форме есть акшен acClose, к которой привязан пункт меню и кнопка на тулбаре. В обработчике OnUpdate написано: Код: plaintext 1. 2. 3. Дабы действие было доступно, когда открыта хотя бы одна дочерняя форма. А в обработчике OnExecute: Код: plaintext 1. 2. 3. Чтоб все формы уничтожались при закрытии все дочернии я наследую от базовой TfrmBaseMDIChild. В обработчике OnClose которой написано: Код: plaintext 1. 2. 3. Все, что касается acClose тянеться еще с 4 Delphi. В 7 есть стандартный акшен TWindowClose, который делает тоже самое, но без написания обработчиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 12:16 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 12:20 |
|
||
|
Как написать общую для всех форм процедуру закрытия формы?
|
|||
|---|---|---|---|
|
#18+
2 JibSkeart автора Sendmessage ??? Всмысле послать сообщение текущей активной дочерней форме?! :-) Нет, теоретически и так можно. Но, IMHO, мой вариант проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2003, 12:46 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2115387]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 459ms |

| 0 / 0 |
