|
|
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Добрый день. есть событие OnActivate для основной формы перед OnActivate в OnCreate запускается проверка с временем от 1 до 20 сек Вопрос: есть ли простой способ задержать OnActivate до получения результатов проверки? таймер на другой форме не предлагать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 18:30 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepair, есть -- не вызывать в своем коде Application.ProcessMessages (которая и начинает обрабатывать дальше события формы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 18:35 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
сакральный вопрос: нахрена? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 18:39 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
не вызывать в своем коде Application.ProcessMessages (которая и начинает обрабатывать дальше события формы). не вызывать? так ничего и не вызываеся, события сами идут друг за дружкой при запуске приложения. вначале криеейт потом шоу потом активейт, все как в букваре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 20:01 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepairне вызывать в своем коде Application.ProcessMessages (которая и начинает обрабатывать дальше события формы). не вызывать? так ничего и не вызываеся, события сами идут друг за дружкой при запуске приложения. вначале криеейт потом шоу потом активейт, все как в буквареТак если не вызывается, то как оно попадет в OnActivate до возврата из OnCreate? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 20:05 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийсакральный вопрос: нахрена? ТС хочет сплэш замутить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 20:10 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
BarlonePcrepairпропущено... не вызывать? так ничего и не вызываеся, события сами идут друг за дружкой при запуске приложения. вначале криеейт потом шоу потом активейт, все как в буквареТак если не вызывается, то как оно попадет в OnActivate до возврата из OnCreate? Попадет, если в OnCreate вызывается ProcessMessages или любой другой асинхронный код, например, используются интернет-компоненты для запроса к сайту на проверку новой версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 20:29 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
JaDiинтернет-компонентыДа, они виноваты всегда. И вообще интернет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 20:45 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
так Я не понял, есть простой способ(встроенный в основную форму) или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 20:51 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepairтак Я не понял, есть простой способ(встроенный в основную форму) или нет? архитектурное решение на помойку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 21:03 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepairтак Я не понял, есть простой способ(встроенный в основную форму) или нет? На дочерней форме в OnActivate слать свое кастомное сообщение PostMessage на главную форму. На главной же форме это сообщение ловить и реагировать (либо сразу, либо менять флаг, который будет ждать тот же код на OnCreate или где там надо). Вообще, лучше более детально описать задачу, как она сделана сейчас и что не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 21:18 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Добрый день. есть событие OnActivate для формы при запуске приложения перед OnActivate, в OnCreate, вызывается функция(асинхронная) проверки чего то с временем от 1 до 20 сек Вопрос: есть ли простой способ(какие то методы формы) задержать OnActivate до получения результатов проверки? таймер на другой форме не предлагать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 21:22 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepair, Код: pascal 1. и не показывать её до завершения этого события. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 21:32 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Например вызвать асинхронную функцию синхронно. А вообще эту проверку надо делать до вызова конструктора формы и результат уже передать туда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 21:34 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepair, это НЕ таймер... 1. На форме делается флаг IsFormCreated... 2. На OnCreate он выставляется в False, запускается долгая асинхронная операция, после которой флаг выставляется в True; 3. На OnActivate ставится код с бесконечным циклом while true, который ожидает готовность формы по флагу (см выше), а если не готова, то небольшой sleep и вызов Application.ProcessMessages; Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 21:39 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepairесть событие OnActivate для формы при запуске приложения Запомните, дети: никогда, ни при каких условиях не используйте OnActivate для разовых действий. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 22:03 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
То же самое с таймером 1. В OnActivate запускается таймер 2. В OnTimer останавливается, проверяется некий флаг готовности 3а. Если ещё флаг не готов - таймер запускается снова 3б. Если флаг готов, таймер не запускается, а выполняются действия дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 22:17 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЗапомните, дети: никогда, ни при каких условиях не используйте OnActivate для разовых действий. Совершенно согласен, но... Мне показалось что здесь не этот случай. Разовое действие у него как раз в OnCreate, он просто хочет синхронную проверку, а доступна только асинхронная. Вам надо делать из асинхронной синхронную. Всё иное - костыли от лукавого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 22:27 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЗапомните, дети: никогда, ни при каких условиях не используйте OnActivate для разовых действий. Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 22:49 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Да, это вполне сработает. Но выглядит как костыль. С: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 23:04 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepair, А что надо сделать на языке юзера? Приложение стартует. Главную форму нельзя показывать до проверки? Или надо показать неактивной? А мышкой активировать можно во время проверки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 23:16 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
AX-ClassPcrepair, А что надо сделать на языке юзера? Приложение стартует. Главную форму нельзя показывать до проверки? Или надо показать неактивной? А мышкой активировать можно во время проверки? можно, все можно и мышку и форму сделал так : - oncreate : вызов потока в котором асинхронный процесс, запуск таймера который ждет ДА из процесса - таймер : когда ДА -> запуск процедуры(бывшего onactivate, хотя... можно присвоить не formactivate а что то ненужное а в таймере написать tmain.formactivate(self); и вызвать но это немного криво) все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 23:43 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepair, Вы откроете для себя большие возможности, если будете программировать не заполнением ивентов компонентов, а функциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 00:24 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
AX-ClassPcrepair, Вы откроете для себя большие возможности, если будете программировать не заполнением ивентов компонентов, а функциями. Будь так добр - покажи на данном конкретном примере, что значит " программировать не заполнением ивентов компонентов, а функциями ", а то даже я не понял, о чём ты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 05:06 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
под ван, Не хочу. Что тут показывать? Код зависит о флага. Флаг меняется асинхронно. А ТС какие-то ивенты мучил, пока не дошло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 06:10 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
AX-Classпод ван, Не хочу. Что тут показывать? Код зависит о флага. Флаг меняется асинхронно. А ТС какие-то ивенты мучил, пока не дошло. Ладно не заводись, не умеешь так не умеешь - я тоже не умею, поэтому и спросил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 08:38 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepair- oncreate : вызов потока в котором асинхронный процесс, запуск таймера который ждет ДА из процесса - таймер : когда ДА -> запуск процедуры(бывшего onactivate, хотя... можно присвоить не formactivate а что то ненужное а в таймере написать tmain.formactivate(self); и вызвать но это немного криво)Если нужно ждать завершения потока, то зачем здесь поток? Если ждать не нужно, а нужно получить уведомление о завершении потока, то зачем здесь таймер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 11:00 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Pcrepair- oncreate : вызов потока в котором асинхронный процесс, запуск таймера который ждет ДА из процесса - таймер : когда ДА -> запуск процедуры(бывшего onactivate, хотя... можно присвоить не formactivate а что то ненужное а в таймере написать tmain.formactivate(self); и вызвать но это немного криво)Если нужно ждать завершения потока, то зачем здесь поток? Если ждать не нужно, а нужно получить уведомление о завершении потока, то зачем здесь таймер?Уже спрашивали, ответа не было. И уже советовали просто выполнить этот "процесс" перед созданием формы (или в OnCreate) без бессмысленных потоков и таймеров. Но так не интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 11:49 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
YuRock_Vasilisk_пропущено... Если нужно ждать завершения потока, то зачем здесь поток? Если ждать не нужно, а нужно получить уведомление о завершении потока, то зачем здесь таймер?Уже спрашивали, ответа не было. И уже советовали просто выполнить этот "процесс" перед созданием формы (или в OnCreate) без бессмысленных потоков и таймеров. Но так не интересно. не хочется никого огорчать, но, но, но. вопрос был : есть ли простой способ задержать OnActivate до получения результатов проверки? таймер на другой форме не предлагать а ответа так и нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 16:27 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepairа ответа так и нет Это потому что, что на дебильные вопросы на публичном форуме лучше не отвечать: гуглопрограммисты растащат ответ по своим говноподелиям, а потом престиж профессии падает и Греф борется. А так способ, конечно, есть, но ни один вменяемый человек его применять не будет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 16:32 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepairа ответа так и нет Потому что это не описание задачи, а описание (не исключено, что кривого) решения и попытка его обрести. Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 16:37 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovPcrepairа ответа так и нет Это потому что, что на дебильные вопросы на публичном форуме лучше не отвечать: гуглопрограммисты растащат ответ по своим говноподелиям, а потом престиж профессии падает и Греф борется. А так способ, конечно, есть, но ни один вменяемый человек его применять не будет. Димон, ну будь проще, и на эти вещи посмотри тоже проще. Тем более исходники самой среды последних версий уже все видели - сам же знаешь, хуже всё равно уже некуда, так что к чему эта ложная скромность и такой демонстративный отказ от костылей? :) Delphi мёртв - весь мир об этом знает, поэтому самое время изгаляться в конструировании всяких извращений. Причём чем изощрённее - тем круче. Чтобы все видели, что этот труп ещё ого-го! Не время скромничать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 16:48 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
PcrepairДобрый день. есть событие OnActivate для основной формы перед OnActivate в OnCreate запускается проверка с временем от 1 до 20 сек Вопрос: есть ли простой способ задержать OnActivate до получения результатов проверки? таймер на другой форме не предлагать вызывать проверку из OnActivate вместо OnCreate - такой вариант устроит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 16:54 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepairесть ли простой способ задержать OnActivate до получения результатов проверки?Я вам открою секрет - все задерживается само Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 17:10 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
12.07.2018 17:10, _Vasilisk_ пишет: > Я вам открою секрет ты сломал стройную картину мирозданья Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 17:40 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_все задерживается самоНе, он же ясно написал - его "Check" асинхронный (какая-нибудь чужая/библиотечная функция). Pcrepairа ответа так и нетКак нет? Два раза вам уже повторили: X-Citeвызвать асинхронную функцию синхронноSoulStreamнадо делать из асинхронной синхроннуюЧто там за функция у вас и как именно становится понятно что она завершилась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2018, 00:09 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Pcrepairперед OnActivate в OnCreate запускается проверка с временем от 1 до 20 секНе "перед OnActivate", а просто "в OnCreate". Ещё не факт что после OnCreate вообще будет хоть один OnActivate. Так же как не факт что OnActivate будет сразу после OnCreate - может и через час, и через сутки. А ещё вы в курсе что OnActivate может вызываться два раза, десять раз, тыщу раз? И вообще - а нафига вам вообще проверки в OnCreate? Что за проверка-то? Ну вот внутри OnCreate проверка вышла отрицательная - и чего теперь? Делайте проверку вообще до OnCreate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2018, 00:21 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
Ути-пути. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2018, 00:23 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
зондА ещё вы в курсе что OnActivate может вызываться два раза, десять раз, тыщу раз? если вы не можете сделать так, чтобы проверка вызывалась только при первом вызове OnActivate, то может не стоит заниматься программированием? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2018, 09:29 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
а исчо, OnActivate может вызываться у формы которая ещё даже НЕ ОТРИСОВАЛАСЬ... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2018, 11:22 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
зондНе, он же ясно написал - его "Check" асинхронный (какая-нибудь чужая/библиотечная функция).Он ясно написалPcrepairсделал так : - oncreate : вызов потока в котором асинхронный процесс,Т.е. поток стартует он сам. Вот все и интересуются - нафига? ТС молчит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2018, 12:46 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
b0rkесли вы не можете сделать так, чтобы проверка вызывалась только при первом вызове OnActivate, то может не стоит заниматься программированием? Программированием точно не стоит заниматься человеку, не умеющему выбрать правильную точку для действия и пихающему код куда попало, включая OnActivate. Даже если он успешно борется с разложенными собой же граблями. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2018, 12:57 |
|
||
|
задержать событие OnActivate
|
|||
|---|---|---|---|
|
#18+
b0rkесли вы не можете сделать так, чтобы проверка вызывалась только при первомНе очень ясно, это вы ТС или мне? Вариант "как сделать" банален и его уже даже показывали, только это совсем костыль. Может одноразовую проверку вообще в OnMouseMove запихнём, а потом будем героически решать проблему "чтоб делалось только при первом"? Для вызова одноразовой проверки надо использовать адекватное событие. Есть сильное подозрение что ТС делает проверку не в том месте где ей место. _Vasilisk_Он ясно написалА вот я не увидел намёка на какой-либо именно "свой поток". Мне кажется он просто так в терминах путается. Вангую что у него вызов чужого кода. Что-то типа PostMessage() или PlaySound(SND_ASYNC), и он просто без понятия как оно внутри устроено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2018, 13:31 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2040624]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
99ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 535ms |

| 0 / 0 |
