Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: задержать событие OnActivate  [new]
под ван
Guest
AX-Class
под ван,

Не хочу.
Что тут показывать? Код зависит о флага. Флаг меняется асинхронно. А ТС какие-то ивенты мучил, пока не дошло.

Ладно не заводись, не умеешь так не умеешь - я тоже не умею, поэтому и спросил.
12 июл 18, 08:38    [21564767]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10492
Pcrepair
- oncreate : вызов потока в котором асинхронный процесс, запуск таймера который ждет ДА из процесса
- таймер : когда ДА -> запуск процедуры(бывшего onactivate, хотя... можно присвоить не formactivate а что то ненужное а в таймере написать tmain.formactivate(self); и вызвать но это немного криво)
Если нужно ждать завершения потока, то зачем здесь поток? Если ждать не нужно, а нужно получить уведомление о завершении потока, то зачем здесь таймер?
12 июл 18, 11:00    [21565246]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 3527
_Vasilisk_
Pcrepair
- oncreate : вызов потока в котором асинхронный процесс, запуск таймера который ждет ДА из процесса
- таймер : когда ДА -> запуск процедуры(бывшего onactivate, хотя... можно присвоить не formactivate а что то ненужное а в таймере написать tmain.formactivate(self); и вызвать но это немного криво)
Если нужно ждать завершения потока, то зачем здесь поток? Если ждать не нужно, а нужно получить уведомление о завершении потока, то зачем здесь таймер?
Уже спрашивали, ответа не было.
И уже советовали просто выполнить этот "процесс" перед созданием формы (или в OnCreate) без бессмысленных потоков и таймеров.
Но так не интересно.
12 июл 18, 11:49    [21565551]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
Pcrepair
Member

Откуда:
Сообщений: 659
YuRock
_Vasilisk_
пропущено...
Если нужно ждать завершения потока, то зачем здесь поток? Если ждать не нужно, а нужно получить уведомление о завершении потока, то зачем здесь таймер?
Уже спрашивали, ответа не было.
И уже советовали просто выполнить этот "процесс" перед созданием формы (или в OnCreate) без бессмысленных потоков и таймеров.
Но так не интересно.


не хочется никого огорчать, но, но, но. вопрос был :
есть ли простой способ задержать OnActivate до получения результатов проверки?
таймер на другой форме не предлагать

а ответа так и нет
12 июл 18, 16:27    [21566503]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45696

Pcrepair
а ответа так и нет

Это потому что, что на дебильные вопросы на публичном форуме лучше не отвечать:
гуглопрограммисты растащат ответ по своим говноподелиям, а потом престиж профессии падает
и Греф борется. А так способ, конечно, есть, но ни один вменяемый человек его применять не
будет.

Posted via ActualForum NNTP Server 1.5

12 июл 18, 16:32    [21566534]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 24160
Pcrepair
а ответа так и нет

Потому что это не описание задачи, а описание (не исключено, что кривого) решения и попытка его обрести.

Зачем?
12 июл 18, 16:37    [21566560]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
под ван
Guest
Dimitry Sibiryakov
Pcrepair
а ответа так и нет

Это потому что, что на дебильные вопросы на публичном форуме лучше не отвечать:
гуглопрограммисты растащат ответ по своим говноподелиям, а потом престиж профессии падает
и Греф борется. А так способ, конечно, есть, но ни один вменяемый человек его применять не
будет.

Димон, ну будь проще, и на эти вещи посмотри тоже проще. Тем более исходники самой среды последних версий уже все видели - сам же знаешь, хуже всё равно уже некуда, так что к чему эта ложная скромность и такой демонстративный отказ от костылей? :)

Delphi мёртв - весь мир об этом знает, поэтому самое время изгаляться в конструировании всяких извращений. Причём чем изощрённее - тем круче. Чтобы все видели, что этот труп ещё ого-го! Не время скромничать.
12 июл 18, 16:48    [21566597]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
b0rk
Member

Откуда: Харьков
Сообщений: 567
Pcrepair
Добрый день. есть событие OnActivate для основной формы
перед OnActivate в OnCreate запускается проверка с временем от 1 до 20 сек

Вопрос: есть ли простой способ задержать OnActivate до получения результатов проверки?
таймер на другой форме не предлагать

вызывать проверку из OnActivate вместо OnCreate - такой вариант устроит?
12 июл 18, 16:54    [21566626]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10492
Pcrepair
есть ли простой способ задержать OnActivate до получения результатов проверки?
Я вам открою секрет - все задерживается само
procedure Check;
begin
  Sleep(30000);
  ShowMessage('Проверка завершена. Результат положительный');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ShowMessage('Ахтунг!. Сейчас будет проверка!!!');
  Check;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  ShowMessage('Activate!!!!');
end;
12 июл 18, 17:10    [21566695]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29045

12.07.2018 17:10, _Vasilisk_ пишет:
> Я вам открою секрет

ты сломал стройную картину мирозданья

Posted via ActualForum NNTP Server 1.5

12 июл 18, 17:40    [21566814]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
зонд
Guest
_Vasilisk_
все задерживается само
Не, он же ясно написал - его "Check" асинхронный (какая-нибудь чужая/библиотечная функция).

Pcrepair
а ответа так и нет
Как нет? Два раза вам уже повторили:
X-Cite
вызвать асинхронную функцию синхронно
SoulStream
надо делать из асинхронной синхронную
Что там за функция у вас и как именно становится понятно что она завершилась?
13 июл 18, 00:09    [21567519]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
зонд
Guest
Pcrepair
перед OnActivate в OnCreate запускается проверка с временем от 1 до 20 сек
Не "перед OnActivate", а просто "в OnCreate". Ещё не факт что после OnCreate вообще будет хоть один OnActivate.
Так же как не факт что OnActivate будет сразу после OnCreate - может и через час, и через сутки. А ещё вы в курсе что OnActivate может вызываться два раза, десять раз, тыщу раз?

И вообще - а нафига вам вообще проверки в OnCreate? Что за проверка-то?
Ну вот внутри OnCreate проверка вышла отрицательная - и чего теперь? Делайте проверку вообще до OnCreate.
13 июл 18, 00:21    [21567538]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
чччД__
Guest
Ути-пути.
13 июл 18, 00:23    [21567543]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
b0rk
Member

Откуда: Харьков
Сообщений: 567
зонд
А ещё вы в курсе что OnActivate может вызываться два раза, десять раз, тыщу раз?

если вы не можете сделать так, чтобы проверка вызывалась только при первом вызове OnActivate, то может не стоит заниматься программированием?
13 июл 18, 09:29    [21567875]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29045

а исчо, OnActivate может вызываться у формы которая ещё даже НЕ ОТРИСОВАЛАСЬ...

Posted via ActualForum NNTP Server 1.5

13 июл 18, 11:22    [21568151]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10492
зонд
Не, он же ясно написал - его "Check" асинхронный (какая-нибудь чужая/библиотечная функция).
Он ясно написал
Pcrepair
сделал так :
- oncreate : вызов потока в котором асинхронный процесс,
Т.е. поток стартует он сам. Вот все и интересуются - нафига? ТС молчит
13 июл 18, 12:46    [21568518]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45696

b0rk
если вы не можете сделать так, чтобы проверка вызывалась только при первом вызове
OnActivate, то может не стоит заниматься программированием?

Программированием точно не стоит заниматься человеку, не умеющему выбрать правильную точку
для действия и пихающему код куда попало, включая OnActivate. Даже если он успешно борется
с разложенными собой же граблями.

Posted via ActualForum NNTP Server 1.5

13 июл 18, 12:57    [21568572]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
зонд
Guest
b0rk
если вы не можете сделать так, чтобы проверка вызывалась только при первом
Не очень ясно, это вы ТС или мне?
Вариант "как сделать" банален и его уже даже показывали, только это совсем костыль. Может одноразовую проверку вообще в OnMouseMove запихнём, а потом будем героически решать проблему "чтоб делалось только при первом"?
Для вызова одноразовой проверки надо использовать адекватное событие. Есть сильное подозрение что ТС делает проверку не в том месте где ей место.

_Vasilisk_
Он ясно написал
А вот я не увидел намёка на какой-либо именно "свой поток". Мне кажется он просто так в терминах путается.
Вангую что у него вызов чужого кода. Что-то типа PostMessage() или PlaySound(SND_ASYNC), и он просто без понятия как оно внутри устроено.
13 июл 18, 13:31    [21568788]     Ответить | Цитировать Сообщить модератору
 Re: задержать событие OnActivate  [new]
Pcrepair
Member

Откуда:
Сообщений: 659
да все уже давно сделано и работает как предназначено. вопрос чиста тиоритцский. может все в форме уже предусмотрено а Я просто не знаю. такое довольно часто бывает.
13 июл 18, 22:33    [21570045]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Delphi Ответить