|
|
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#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 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Да в принципе и Word должен быть потокобезопасный -- там же свой собственный экземпляр создается (т.е. в теории можно сразу кучу вордов в разных потоках запустить и проверять -- лишь бы памяти и пропускной способности дисков хватило). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 11:52 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Для тех кто был невнимателен объясняю, речь идет не о RichEdit, а о dxRichEditControl. Это принципиально другой компонент от девок, который умеет прекрасно не только отображать все вордовские файлы, но и редактировать их. Так-что загрузка в такой контрол битого вордовского файла даст ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 12:20 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Так ведь есть компоненты, которые умеют открывать doc, docs без наличия word. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 12:21 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
СтрадалецъДопустим я захочу создать в потоке TMemo СтрадалецъДля тех кто был невнимателен объясняю, речь идет не о RichEdit, а о dxRichEditControl. Ну да, ну да. "О как внезапно кончился диван!" (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 12:26 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
авторДа в принципе и Word должен быть потокобезопасный -- там же свой собственный экземпляр создается (т.е. в теории можно сразу кучу вордов в разных потоках запустить и проверять -- лишь бы памяти и пропускной способности дисков хватило). Не все так просто. Word позволяет создает только один экземпляр приложения, но к этому приложению можно подключить сколь угодно много документов и я так делал раньше, но я не нашел способа сделать этот один экземпляр приложения полностью защищенным от действий пользователя. Стоит запустить пользователю напрямую ворд, он находит мой экземпляр и благополучно к нему подключается, и когда пользователь закрывает ворд, он закрывает и мой экземпляр или же может так случится, что пользователь запустив ворд вдруг начинает видеть все открываемые документы из моего приложения, хоть они запускаются в невидимом режиме. В общем с вордом я больше связываться не хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 12:33 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
Компонентов для чтения документов Word в мире прилично. Например: http://scalabium.com/msword/index.htm Я уж не говорю о том что в самих девках небось все есть для работы с документом невизуально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 12:50 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
СтрадалецъПС: _Vasilisk_ а не покажете примерчик работы richedit в нескольких потоках?Вы не осилите. Но схема примерно такая Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 15:05 |
|
||
|
Нужна ли синхронизация для визуального компонента если он создается в рамках потока?
|
|||
|---|---|---|---|
|
#18+
авторЯ уж не говорю о том что в самих девках небось все есть для работы с документом невизуально. Вполне возможно, но эти трудоголики умудрились для реализации этого контрола написать почти 500 файлов исходников, в которых черт ногу сломит искать все зависимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2019, 21:24 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2039015]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
240ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 279ms |
| total: | 600ms |

| 0 / 0 |
