|
|
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
Использую SQLConnection в паре с SQLQuery. Добавляю картинку в таблицу Код: pascal 1. При загрузке подвисает форма, а мне нужно чтобы она не подвисала и перед загрузкой показать окошко, что идёт загрузка, а после загрузки его убрать. Создавать поток? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Правильно? И через Код: pascal 1. Убирать окно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 12:01 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
создать поток, который выполняет работу, а не рисует на экране в это время можете запустить на форме крутилку или что-то еще по окончании потока крутилку прячем, результат используем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 12:36 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
Потоки тут не нужны: showProgress/Window; Application.ProcessMessages; loadfromfile closeProgress/Window ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 13:01 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
-SoloИспользую SQLConnection в паре с SQLQuery.Это dbExpress лли Zeos? В любом случае, вопрос по клиентской части, а не по MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 14:31 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
Это dbExpress ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 14:43 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
Сделал как посоветовал JaDi, не помогло. Да и вообще как то долго обрабатывается запросы к MySQL на сервере. А если в таблице картинки хранить, то ещё дольше. Думаю, может на сервере через php их посылать, быстрее будет? А картинки хранить на сервере, а в базе ссылки на них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 16:29 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
-Solo, загрузка блоба/файла в БД ни в одних известных мне компонентах не сделана "по частям". или "с прерываниями", чтобы можно было воткнуть периодический просчет процента загрузки. Для этого там должен быть предусмотрен коллбэк, а его нет. Так что, если хочется "загрузку" показывать, надо самостоятельно читать файл блоками и эти блоки также кусками закидывать в блоб. Например, определять исходный размер картинки, делить на 100, и вот этими кусочками перекидывать, рисуя полосу загрузки и не забывая вызвать ProcessMessages. И "может на сервере через php их посылать, быстрее будет?" интересно, каким это образом отправка файла по сети через пхп будет быстрее чем через что-либо еще. Пхп это дополнительный слой, так что будет только медленнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 19:12 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
-SoloСделал как посоветовал JaDi, не помогло. И не могло помочь, потому что он ерунду посоветовал. LoadFromFile - атомарная операция, с точки зрения твоей программы, её прогресс никак не покажешь. Надо копать внутрь, смотреть как она устроена и, возможно, на каком-то уровне она перестанет быть атомарной. Вот тогда, скопировав этот код в своё приложение, ты можешь получить вожделенное. PS: Также прочитай что делает Synchronize. Засовывать весь код в неё - типичная ошибка новичка. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 19:33 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov-SoloСделал как посоветовал JaDi, не помогло. И не могло помочь, потому что он ерунду посоветовал. LoadFromFile - атомарная операция, с точки зрения твоей программы, её прогресс никак не покажешь. Надо копать внутрь, смотреть как она устроена и, возможно, на каком-то уровне она перестанет быть атомарной. Вот тогда, скопировав этот код в своё приложение, ты можешь получить вожделенное. PS: Также прочитай что делает Synchronize. Засовывать весь код в неё - типичная ошибка новичка. Для показа пользователю плашки с "загружается" Application.ProcessMessages хватит на все 110% ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 20:02 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
Если хочется заморачиваться с потоками, отслеживанием и т.п. а не использовать банальную плашку с текстом "загрузка", то добро пожаловать изобретать колеса. Например, если нужен именно прогресс для загрузки -- то поможет как раз таки php и дата аплоадер по http (на стороне пхп достаточно сделать приемку файлов). Не знаю, как у indy, а вот у Clever Internet Suite как раз такое есть (на колбеке можно получать объем загруженного). P.S. И вообще, в MySQL есть ограничение на объем для файла, по умолчанию несколько мегабайт -- надо увеличивать в настройках (можно нагуглить, что именно менять). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 20:08 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
-Solo> Сделал как посоветовал JaDi, не помогло. И не могло помочь, ибо чушь (ну будет плашка "висеть" вместо исходной формы). Делай загрузку в потоке, а в основном интерфейсе проверяй флаг и "жди" завершения потока (или сообщения от него). > Думаю, может на сервере через php их посылать, быстрее будет? Это ещё более бредовый вариант. > А картинки хранить на сервере, а в базе ссылки на них. Это можно (и в БД их можно хранить), но во-первых, это изменение архитектуры, во-вторых, как-то (и откуда-то) же они на сервер должны будут попадать ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 20:30 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
А когда мы делаем запрос SELECT, допустим вернулось 10 строк из таблицы, с их возвращением автоматически скачиваются картинки? Или они скачиваются после кода Код: pascal 1. А то как то быстро верхний кусочек кода работает, видимо они скачиваются все разом в ответе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 23:37 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
-Solo, зависит от компонент. Нормальные компоненты должны иметь опцию "буферизировать блобы" или нет, и если да, то в каком объеме. Или не буферизировать блобы вовсе, без опций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 01:15 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
-Solo, у Рощина есть готовые примеры . Можно в качестве компромиссного варианта для анимации на сплэш положить прогрессбар, и задать ему MarqueeInterval = 20 и Style = pbstMarquee. Тогда, чтобы отвлечь юзера, можно писать в окно какую-нибудь белиберду, пока выполняется длительная операция ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 02:07 |
|
||
|
dbExpress - загрузка файла в фоне
|
|||
|---|---|---|---|
|
#18+
Сделал через загрузку файлов на сервер (IdHTTP1.Put и рhp). А открытие картинок через открытие ссылки на них в браузере. Всё понравилось и думал уже никаких проблем не будет, но нет. Вывожу данные в ListView, всё как обычно Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Решил отфильтровать записи (знаю, что можно на стороне MySQL, захотелось попробовать в делфи) делаю Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Получаю ошибку с чтением адреса в памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 16:03 |
|
||
|
|

start [/forum/topic.php?fid=58&tid=2040138]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 451ms |

| 0 / 0 |
