|
|
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Допустим я захочу создать в потоке TMemo, но никак его не отображать и вот нужна ли синхронизация при обращении к методам Memo из потока? По идее, кроме самого потока владельца никто доступ к Memo не получит и вроде как не нужна, но с другой стороны это vcl-компонент и он вполне себе может лезть куда не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 01:05 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 01:16 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Визуальные компоненты vcl нельзя создавать из других потоков. Как минимум нужен synhronize. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 08:08 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Проблема у меня с компонентом TdxRichEditControl, который я хочу вызывать в нескольких потоках и такой вызов: Код: pascal 1. 2. 3. 4. 5. ошибок не вызывает, но и потоки при этом теряют смысл. И как-же выкрутится из такой ситуации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 08:21 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
СтрадалецъИ как-же выкрутится из такой ситуации? Может тогда расскажите о задаче, а не о принятом вами пути решения этой задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 08:36 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Страдалецъошибок не вызывает, но и потоки при этом теряют смысл. Да и сам код какой-то бессмысленный: загружается документ и тут же уничтожается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 08:47 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
wadmanСтрадалецъошибок не вызывает, но и потоки при этом теряют смысл. Да и сам код какой-то бессмысленный: загружается документ и тут же уничтожается. Зато в потоке :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 09:28 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
СтрадалецъДопустим я захочу создать в потоке TMemo, но никак его не отображать и вот нужна ли синхронизация при обращении к методам Memo из потока? По идее, кроме самого потока владельца никто доступ к Memo не получит и вроде как не нужна, но с другой стороны это vcl-компонент и он вполне себе может лезть куда не надо. Компоненты не нужно создавать в потоках... Для какой цели вы собрались это делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 10:06 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Отнюдь не бессмысленный, просто там нет обработки ошибок. А смысл именно в корректном/некорректном открытии т.к. надо проверить массово битый или не битый документ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 10:11 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Была еще мысль его для поиска замены текста использовать, но в таком варианте не пойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 10:24 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Я бы поискал, каким методом этот edit загружает документ, и нельзя ли этот метод вызвать сам по себе. Если такого нет, то придется страдать, да. Как вариант можно вместо потоков запускать процессы с параметром пути к файлу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 10:58 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Василий 2придется страдать, да Впрочем, судя по нику, ТС-у это привычно ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 11:00 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
СтрадалецъОтнюдь не бессмысленный, просто там нет обработки ошибок. А смысл именно в корректном/некорректном открытии т.к. надо проверить массово битый или не битый документ. AFAIK все оконные WinAPI компоненты (на которых построена VCL) используют сообщения для работы. Соответственно они могут работать только в основном потоке. Хотите проверять многопоточно - делайте отдельное приложения для проверки и вызывайте его с парамером, например. И возвращайте код ошибки при необходимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 12:27 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Создание визуального компонента в VCL в потоке - это членовредительство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 13:08 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
СтрадалецъОтнюдь не бессмысленный, просто там нет обработки ошибок. А смысл именно в корректном/некорректном открытии т.к. надо проверить массово битый или не битый документ. если очень хочется - создавай в потоке richedit на голом WinAPI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 13:23 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
YuRockесли очень хочется - создавай в потоке richedit на голом WinAPI. Сдаётся мне, что аффтар так и не озвучил конечную задачу. Ибо загрузиться-то может практически любой текст, но толку с этого, если половина будет мусором. С тем же успехом можно тупо обычным TFileStream посчитать количества открывающих и закрывающих фигурных скобок в файле и ругаться если они не совпадают. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 13:38 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
DmSerВизуальные компоненты vcl нельзя создавать из других потоков.Можно. Только нужно отдавать себе отчет, что получится. WinAPI позволяют создавать очереди обработки сообщений в разных потоках. А компонент, которые модифицируют глобальные объекты - единицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 14:17 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_DmSerВизуальные компоненты vcl нельзя создавать из других потоков.Можно. Только нужно отдавать себе отчет, что получится. WinAPI позволяют создавать очереди обработки сообщений в разных потоках. А компонент, которые модифицируют глобальные объекты - единицы Проблема только в том, что в кишках VCL может происходить всякое, и где там компонент вдруг обратится к application, например, неизвестно. Но попробовать можно, вдруг прокатит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 19:24 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
1. richedit и richeditcontrol - это мягко говоря разные компоненты 2. Смысл этой задачи просто выполнять эпизодически массовую проверку, а это порядка полумиллиона документов, на исправность. Удалось загрузить файл с расширением doc,docx, значит все хорошо, ну а не удалось значит его в черный список. При таком количестве документов естественно возникло желание использовать потоки, но в силу невозможности завернуть richeditcontrol в поток придется делать это иначе, через запуск нескольких приложений. ПС: _Vasilisk_ а не покажете примерчик работы richedit в нескольких потоках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 22:56 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ1. richedit и richeditcontrol - это мягко говоря разные компоненты 2. Смысл этой задачи просто выполнять эпизодически массовую проверку, а это порядка полумиллиона документов, на исправность. Удалось загрузить файл с расширением doc,docx, значит все хорошо, ну а не удалось значит его в черный список. При таком количестве документов естественно возникло желание использовать потоки, но в силу невозможности завернуть richeditcontrol в поток придется делать это иначе, через запуск нескольких приложений. ПС: _Vasilisk_ а не покажете примерчик работы richedit в нескольких потоках? Какие основные причины того, что файл битый? Неверный формат (например картинка с расширением .doc) или документ поврежден (например не до конца скачан)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2019, 23:52 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
СтрадалецъУдалось загрузить файл с расширением doc,docx, значит все хорошо, ну а не удалось значит его в черный список. Загрузить .doc в контрол, который принимает RTF. Ню-ню... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 00:14 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Сомнительная задача. Начать хотя бы с того что RichEditControl не поддерживает всех наворотов современного MSWord коим нет числа, и соответственно не может провалидировать все документы. Да и не предназначен для этого. PS: помимо всего, после загрузки документа, контрол запускает свои потоки для форматирования документа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 00:38 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Страдалецъ, docx - это zip-архив. Достаточно проверить сигнатуры и прочитать оглавление - по идее даст 90% гарантию того, что с документом все ок. Будет всяко быстрее, чем загрузка "в куда-то...". И сделать это можно в потоке, причем безопасно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 11:06 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Если vcl-ный объект создается в потоке, и никто другой к нему не обращается, то всё ок будет. Что касается проверки вордовских файлов, то лучший вариант -- это сам ворд через OLE . Скорость не самая быстрая, зато с гарантией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 11:30 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
JaDiЕсли vcl-ный объект создается в потоке, и никто другой к нему не обращается, то всё ок будет. Что касается проверки вордовских файлов, то лучший вариант -- это сам ворд через OLE . Скорость не самая быстрая, зато с гарантией. N докер-контейнеров (или виртуалок) с общим брокером выдачи файлов в параллели разгребут быстро ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 11:46 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39865445&tid=2039015]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 349ms |

| 0 / 0 |
