|
|
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
Док, по большому счету - любое обращении к любому свойству объекта TMemo из не гуи-потока может породить исключения, и не только AV. И не только исключения, а просто порчу памяти, что хуже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 14:45 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
YuRockпо большому счету - любое обращении к любому свойству объекта TMemo из не гуи-потока может породить исключения, и не только AV. И не только исключения, а просто порчу памяти, что хуже.Не говори ерунды, в большинстве своём работа с мемо сводится к посылке сообщений, которые вполне потокобезопасны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 15:50 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
white_niggerНе говори ерунды, в большинстве своём работа с мемо сводится к посылке сообщений, которые вполне потокобезопасны SendMessage и Dispath - посылка сообщений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 16:09 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
white_niggerНе говори ерунды, в большинстве своём работа с мемо сводится к посылке сообщений Ну опять же ты ерунду говоришь. Посылка сообщений использует свойство Handle, которое использует метод GetHandle, который отнюдь не потокобезопасен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 16:15 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
wadmanSendMessage и Dispath - посылка сообщений?Первое да. Второе нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 16:18 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
white_niggerв большинстве своём работа с мемо сводится к посылке сообщений вот и я об этом wadmanSendMessage и Dispath - посылка сообщений? поясни © :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 17:43 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_wadmanSendMessage и Dispath - посылка сообщений?Первое да. Второе нет Ни то ни другое не отправляет сообщений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 18:21 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
Докпоясни © :) Да что тут пояснять? И то и другое вызывает напрямую обработчики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 18:22 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
wadmanДа что тут пояснять? И то и другое вызывает напрямую обработчики. Да нет, это не так. На прямую вызывается обработчик только для окна, созданного в потоке, в котором произошел вызов SendMessage. Иначе - шлет сообщение в "дополнительную" очередь и ожидает его обработки. Так или иначе сообщение будет обработано в потоке, где создано окно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 18:32 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
YuRockДа нет, это не так. Согласен... Перегрелся малость. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 18:36 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
AV, "потокобезопасность"... Yопта, ну вот зачем хнёй страдать... :( Тупо создайте в гуи-окне обработчика кастом-сообщений, да и шлите в него из потоков все, что хотите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 18:39 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
wadman, Хотя написано еще круче: MSDN:SendMessage If the specified window was created by the calling thread, the window procedure is called immediately as a subroutine. If the specified window was created by a different thread, the system switches to that thread and calls the appropriate window procedure . Как будто можно просто взять и "переключить" потоки, ага. Какое-то сообщение наполовину обработалось, тут поток переключили, обработали сообщение из другого, вернули, и обработали половину первого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 18:39 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
YuRockи обработали половину первого "вторую половину" хотел написать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 18:41 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
YuRockКак будто можно просто взять и "переключить" потоки Описали красиво, да. Вот и угадай, что в недрах реально происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 18:49 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
wadmanОписали красиво, да. Вот и угадай, что в недрах реально происходит. Ну моё гадание видит 2 пункта: 1. Очередь сообщений потому и очередь, что следующее сообщение не может начать обрабатываться, пока не закончена обработка предыдущего. Это означает, что сообщение, поступившее в очередь через SendMessage из другого потока, будет ждать как минимум завершения этой обработки (предыдущего сообщения); 2. Если во время обработки сообщения из других потоков в эту очередь поступило несколько сообщений через SendMessage, то они обязательно будут ждать как минимум и окончания обработки этого первоначального сообщения, и друг друга, т.е. еще одна очередь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 18:58 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
YuRockНу моё гадание видит 2 пункта: Ставлю на то, что в таком случае SendMessage возводит внутренний флаг для GetMessage или PeekMessage, которые в свою очередь этот флаг сбрасывают после обработки. В винде любят такие хитрости, скрытые от посторонних глаз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 19:05 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
YuRock, wadman, из процитированного вами обоими следует вывод, что YuRockлюбое обращении к любому свойству объекта TMemo из не гуи-потока может породить исключения ? По-моему, наоборот? По-крайней мере, если общаться между потоками посредством SendMessage/PostMessage ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 19:41 |
|
||
|
Добавление и удаление строк в TStringList
|
|||
|---|---|---|---|
|
#18+
Док, между YuRockобращении к любому свойству объекта TMemoи Докобщаться между потоками посредством SendMessage/PostMessage серьезная разница. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 19:48 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39589441&tid=2041311]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 525ms |

| 0 / 0 |
