Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30

TChromium получение содержимого фрейма

03.11.2013, 19:43. Показов 5300. Ответов 21

Студворк — интернет-сервис помощи студентам
Есть такая тема в разделе Dephi Как получить текст HTML страницы с компонента Chromium браузер
Там решилась проблема заданием колбека, но если переводить в С++Builder, во первых ругается на константность

[bcc32 Error] UMain.cpp(141): E2522 Non-const function _fastcall ICefFrame::IsMain() called for const object
Full parser context
UMain.cpp(133): parsing: void _fastcall TMainForm::Chromium1BeforeResourceLoad(T Object *,const ICefBrowser *,const ICefFrame *,const ICefRequest *,bool)
Что можно списать на кривую авто-генерацию хедеров для С++.
И можно либо подправить хедеры сделав методы константными, либо использовать const_cast<>.

Во вторых - главный вопрос как перевести колбек или создать визитер, ибо такой номер :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//---------------------------------------------------------------------------
void __fastcall callback(String AContent)
{
    MainForm->AddInfo("---------------------------------");
    MainForm->AddInfo(AContent);
    MainForm->AddInfo("---------------------------------");
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Chromium1BeforeResourceLoad(TObject *Sender, const ICefBrowser *browser,
                    const ICefFrame *frame, const ICefRequest *request, bool Result)
 
{
    if(frame)
    {
        String FrameUrl= (const_cast<ICefRequest*>(request))->Url;
 
        if(IsRegisterPassportUrl(FrameUrl)) // Ищем нужный фрейм ...
         {
             AddInfo("resource "+FrameUrl);
            (const_cast<ICefFrame*>(frame))->GetSourceProc(&callback); /* !!!! */
         }
    }
}
//---------------------------------------------------------------------------
не проходит :

[bcc32 Error] UMain.cpp(141): E2034 Cannot convert 'void (_fastcall *)(UnicodeString)' to '_di_TCefStringVisitorProc'
Full parser context
UMain.cpp(133): parsing: void _fastcall TMainForm::Chromium1BeforeResourceLoad(T Object *,const ICefBrowser *,const ICefFrame *,const ICefRequest *,bool)
[bcc32 Error] UMain.cpp(141): E2342 Type mismatch in parameter 'proc' (wanted 'const _di_TCefStringVisitorProc', got 'void (_fastcall *)(UnicodeString)')
Full parser context
UMain.cpp(133): parsing: void _fastcall TMainForm::Chromium1BeforeResourceLoad(T Object *,const ICefBrowser *,const ICefFrame *,const ICefRequest *,bool)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.11.2013, 19:43
Ответы с готовыми решениями:

Получение email и обработка содержимого
В общем стоит следующая задача... На некий адрес электронной почты (gmail, yandex, mail, etc...) с некой периодичностью приходят письма. В...

Tchromium-Получение кода с страницы
Всем доброго времени суток, есть одна проблема при получении кода с страницы выбивает ошибку, ломаю голову над этим но не как не решу, кто...

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

21
1409 / 573 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
06.04.2017, 16:33
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Почтальон Посмотреть сообщение
Сначала удаляется компонент, потом ставится заново ?
Да.

Ну и бинарники не забыть заменить
1
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
06.04.2017, 16:41
_Dimon_, спасибо большое за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2017, 16:41

Получение строки из фрейма
помогите разобраться с рег выраженияем... вот есть фрейм &lt;iframe src=&quot;http://vkontakte.ru/video_ext.php? ...

Изменение картинки\содержимого фрейма\видео при выборе пункта меню
Здравствуйте. Подскажите пожалуйста, можно ли, и как, если можно, сделать следующую вещь: Есть меню (хоть простой список), в центре...

Получение currentdocument.document из другого фрейма
День добрый. Подскажите пожалуйста, ситуация такая... Есть фреймсет. Основной фрейм - Content, второстепенный - DeviceList. ...

Получение содержимого папки
Как получить содержимое папки (имена файлов и папок) и записать его в массив String?

Получение содержимого страницы
Доброго времени суток=) То ли по не знанию, то ли уже от клина в голове, столкнулся с проблемой: Необходимо получить содержимое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru