powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Добавление и удаление строк в TStringList
19 сообщений из 69, страница 3 из 3
Добавление и удаление строк в TStringList
    #39589171
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

по большому счету - любое обращении к любому свойству объекта TMemo из не гуи-потока может породить исключения, и не только AV. И не только исключения, а просто порчу памяти, что хуже.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589268
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockпо большому счету - любое обращении к любому свойству объекта TMemo из не гуи-потока может породить исключения, и не только AV. И не только исключения, а просто порчу памяти, что хуже.Не говори ерунды, в большинстве своём работа с мемо сводится к посылке сообщений, которые вполне потокобезопасны
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589292
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerНе говори ерунды, в большинстве своём работа с мемо сводится к посылке сообщений, которые вполне потокобезопасны
SendMessage и Dispath - посылка сообщений?
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589298
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerНе говори ерунды, в большинстве своём работа с мемо сводится к посылке сообщений
Ну опять же ты ерунду говоришь. Посылка сообщений использует свойство Handle, которое использует метод GetHandle, который отнюдь не потокобезопасен.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589303
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanSendMessage и Dispath - посылка сообщений?Первое да. Второе нет
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589400
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerв большинстве своём работа с мемо сводится к посылке сообщений
вот и я об этом

wadmanSendMessage и Dispath - посылка сообщений?
поясни © :)
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589425
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_wadmanSendMessage и Dispath - посылка сообщений?Первое да. Второе нет
Ни то ни другое не отправляет сообщений.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589426
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докпоясни © :)
Да что тут пояснять? И то и другое вызывает напрямую обработчики.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589433
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanДа что тут пояснять? И то и другое вызывает напрямую обработчики.
Да нет, это не так. На прямую вызывается обработчик только для окна, созданного в потоке, в котором произошел вызов SendMessage. Иначе - шлет сообщение в "дополнительную" очередь и ожидает его обработки. Так или иначе сообщение будет обработано в потоке, где создано окно.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589436
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockДа нет, это не так.
Согласен... Перегрелся малость. :)
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589441
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AV, "потокобезопасность"... Yопта, ну вот зачем хнёй страдать... :(

Тупо создайте в гуи-окне обработчика кастом-сообщений, да и шлите в него из потоков все, что хотите.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589442
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 .

Как будто можно просто взять и "переключить" потоки, ага. Какое-то сообщение наполовину обработалось, тут поток переключили, обработали сообщение из другого, вернули, и обработали половину первого
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589443
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockи обработали половину первого
"вторую половину" хотел написать
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589450
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockКак будто можно просто взять и "переключить" потоки
Описали красиво, да. Вот и угадай, что в недрах реально происходит.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589457
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanОписали красиво, да. Вот и угадай, что в недрах реально происходит.
Ну моё гадание видит 2 пункта:
1. Очередь сообщений потому и очередь, что следующее сообщение не может начать обрабатываться, пока не закончена обработка предыдущего. Это означает, что сообщение, поступившее в очередь через SendMessage из другого потока, будет ждать как минимум завершения этой обработки (предыдущего сообщения);
2. Если во время обработки сообщения из других потоков в эту очередь поступило несколько сообщений через SendMessage, то они обязательно будут ждать как минимум и окончания обработки этого первоначального сообщения, и друг друга, т.е. еще одна очередь.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589461
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockНу моё гадание видит 2 пункта:
Ставлю на то, что в таком случае SendMessage возводит внутренний флаг для GetMessage или PeekMessage, которые в свою очередь этот флаг сбрасывают после обработки.
В винде любят такие хитрости, скрытые от посторонних глаз.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589505
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock, wadman,

из процитированного вами обоими следует вывод, что

YuRockлюбое обращении к любому свойству объекта TMemo из не гуи-потока может породить исключения
?

По-моему, наоборот? По-крайней мере, если общаться между потоками посредством SendMessage/PostMessage
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589509
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

между
YuRockобращении к любому свойству объекта TMemoи
Докобщаться между потоками посредством SendMessage/PostMessage
серьезная разница.
...
Рейтинг: 0 / 0
Добавление и удаление строк в TStringList
    #39589558
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockсерьезная разница
дык, ты выражайся однозначнее. Моя твоя не понимай :)
...
Рейтинг: 0 / 0
19 сообщений из 69, страница 3 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Добавление и удаление строк в TStringList
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]