|
|
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
Доброе время суток! Моя программа сворачивается в трей, по нажатию на крестик. Реализовано вот так: Код: pascal 1. 2. 3. 4. 5. После этого, Self.close; перестаёт срабатывать. По этому закрываю так: Halt(0); Но где-то прочитал, что не желательно закрывать программу таким образом. Вот собсно и задался вопросом, как правильно закрыть программу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2019, 00:14 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
Tech N9neгде-то прочитал, что не желательно закрывать программу таким образом. Где-то там же написано, как правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2019, 00:16 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
Tech N9neРеализовано вот так Установить перед вызовом Close() какой-нибудь флаг и проверять его в OnClose - слишком сложная идея для современного программиста?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2019, 01:12 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
Tech N9ne, Show и Hide работают прекрасно. Не важно, свернуто или на экране форма. Самое главное, что всё это надо делать с ГЛАВНОЙ формой, тогда всё будет закрываться. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2019, 10:51 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
Повторный вызов закрывает форму :-) Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2019, 10:59 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
JaDiПовторный вызов закрывает форму :-) Код: pascal 1. 2. 3. 4. 5. Закрывает или прячет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2019, 15:11 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
Tech N9ne Код: pascal 1. 2. 3. 4. 5. Кстати, а Action := caHide чем не устроил?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2019, 09:39 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
GatorJaDiПовторный вызов закрывает форму :-) Код: pascal 1. 2. 3. 4. 5. Закрывает или прячет? При первом вызове спрячет форму, при повторном вызове, если форму так и не показали вновь -- закроет (вместе с приложением). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2019, 10:35 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
JaDi, Из представленного кода закрытия не видно. Это Mainform? И нафига caNone? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2019, 10:42 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
Gator, потому что по умолчанию на OnClose в Action проставляется caHide (сокрытие формы), но у делфи есть еще проверки, что если главную форму с таким action'ом вызвать (где стоит что-то кроме caNone), то делфи это воспринимает как закрытие всего приложения: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2019, 10:53 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
а что флаг поставить никак уже ? что-то типа if not ForceClose then begin action := caHide; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2019, 11:00 |
|
||
|
Как правильно закрыть свою программу?
|
|||
|---|---|---|---|
|
#18+
JaDi, Собственно это и ответ на вопрос ТСа: когда надо выйти из программы, то вместо MainForm.Close надо вызывать Application.Terminate или PostQuitMessage(0). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2019, 16:42 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39769097&tid=2039854]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
457ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 750ms |

| 0 / 0 |
