|
|
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
wadman, Объясни, в чем кривость решения, используемое самими разработчиками делфи (вызов ProcessMessages внутри длинного цикла, чтобы приложение на зависало и нормально реагировало на пользователя в процессе)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 12:06:39 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
JaDiв чем кривость решения, используемое самими разработчиками делфиЭто где разработчики то его используют? И сам ты часто прибегаешь к такому методу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 13:08:23 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
JaDiв чем кривость решения, используемое самими разработчиками делфи (вызов ProcessMessages внутри длинного цикла, чтобы приложение на зависало и нормально реагировало на пользователя в процессе)? В том, что эта процедура использует PeekMessage вместо GetMessage. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 13:08:31 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
У Delphi вменяемая RTL, но большая часть VCL выглядит так, будто её, из-за недостатка времени для разработки, сбросили на юниора-индуса. Так что если там где-то и затесался вызов ProcessMessages, то использовать это место в качестве образца для подражания следует с точностью до наоборот. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 13:19:10 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
JaDiwadman, Объясни, в чем кривость решения, используемое самими разработчиками делфи (вызов ProcessMessages внутри длинного цикла, чтобы приложение на зависало и нормально реагировало на пользователя в процессе)?ProcessMessages можно применять если цикл выполняется не дольше неск. секунд. А вот для длинного SQL-запроса (и прочего ожидания отклика к-л внеш. процесса) ProcessMessages не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 14:10:23 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
Для меня достаточно понимания того, что ProcessMessages нарушает порядок очереди сообщений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 14:20:52 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
Barmaley57Это где разработчики то его используют? Выше кидал ссылку на официальную документацию , где черным по белому написано, что ProcessMessages надо вызывать время от времени при длительных операциях, чтобы приложение не зависало и корректно прорисовывалось у пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 14:27:23 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
wadmanДля меня достаточно понимания того, что ProcessMessages нарушает порядок очереди сообщений. Не затруднит пояснить примером ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 14:30:38 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
schiwadmanДля меня достаточно понимания того, что ProcessMessages нарушает порядок очереди сообщений. Не затруднит пояснить примером ? Сложно представить, что будет при клике, который еще не отработал, но дернул следующее сообщение? А если кодирует не один индус, а два или десять и каждый форсирует обработку очереди? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 14:33:34 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
JaDiBarmaley57Это где разработчики то его используют? Выше кидал ссылку на официальную документацию , где черным по белому написано, что ProcessMessages надо вызывать время от времени при длительных операциях, чтобы приложение не зависало и корректно прорисовывалось у пользователя. Это документация, в ней описывается назначение функции, а не советы по применению и уж тем более не best practic. Ты как американец, требуешь в инструкции указаний каких животных нельзя сушить в микроволновке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 14:36:48 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
wadman, Вообще-то вся VCL как раз на этом принципе и построена, как и виндовые приложения и вообще весь пользовательский интерфейс -- по однопоточной модели. Вот, например, те же DevExpress в своих компонентах где только можно ProcessMessages вставляют (более 50 мест нашлось поиском) -- как раз для того, чтобы не подвисало. Например: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 14:55:43 |
|
||
|
Функция, ожидание значения переменной
|
|||
|---|---|---|---|
|
#18+
JaDiВообще-то вся VCL как раз на этом принципе и построена, как и виндовые приложения и вообще весь пользовательский интерфейс -- по однопоточной модели. Ой, не смеши. Везде, где думают головой, применяются потоки, в т.ч. и в VCL. Запусти пустое приложение и посчитай количество потоков на приложение. На всех ОС и во всех гайдах пишут, что все тяжелое следует выносить в другой поток. JaDiВот, например, те же DevExpress Да... Пиши как хочешь. :-) И пусть все пишут как хотят. Мне всё равно, но ровно до тех пор, пока не начну разбирать г-но за кем-нибудь. А пока кто-то другой с вашими поделиями мучается (и пользуется), то это его выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2017, 15:12:38 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39480420&tid=2042080]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
272ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 563ms |

| 0 / 0 |
