Delphi | Загрузка файлов с использованием Chromium

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Bonkеrs, 27 Sep 2016.

  1. Bonkеrs

    Bonkеrs Member

    Joined:
    5 Feb 2014
    Messages:
    36
    Likes Received:
    17
    Reputations:
    3
    Использую cef3 для создания браузера.

    Возникла проблема с загрузкой тяжелых файлов. Природа ошибки не ясна, так как моего уровня незнания языка не хватает, чтобы самостоятельно разобраться.

    Наблюдения.

    Если компонент кинуть на форму или создать динамически (TChromium.Create), в браузере возникает ошибка при загрузке файла. Например, видео в ВК стабильно не загружается. Покопавшись в демках (dcef3/demos), нашел пример создания браузера, который работает корректно (dcef3/demos/minimal). Там браузер создается с нуля, начиная с использования WinAPI.

    Вопрос.

    В чем моя ошибка? Может нужно указать какие-то дополнительные настройки, при создании компонента?
     
  2. Bonkеrs

    Bonkеrs Member

    Joined:
    5 Feb 2014
    Messages:
    36
    Likes Received:
    17
    Reputations:
    3
    Хорошо, тогда другой вопрос, попроще.

    Есть вот такой проект,
    [​IMG]
    весь код написан в секции program. Хочу создать отдельный поток и обратиться к переменным, которые объявлены в том коде. Раньше я создавал поток и прикреплял к нему юниты типа .pas (через implementation), но тут так не прокатило (логично). Как мне достучаться до переменных в program?
     
  3. Bonkеrs

    Bonkеrs Member

    Joined:
    5 Feb 2014
    Messages:
    36
    Likes Received:
    17
    Reputations:
    3
    Нашел решение!

    Создаю отдельную форму, из нее создаю .exe браузера, используя WinAPI (аналогично dcef3/demos/minimal). Далее из формы создаю новый поток, который имеет доступ к объявленным на форме переменным.

    Если появится человек, который разбирается в Chromium, буду рад услышать ответ на первый вопрос.

    P. s. В демках, которые прилагаются к компоненту, где браузер создается с использованием TChromium.Create, также присутствует баг с загрузкой файлов.