дочерний процесс dcef3 не завершается

Я пытаюсь dcef3 сделать простой браузер, который открывает фиксированный URL-адрес. Я установил CefSingleProcess как false. Как только запускаю приложение, создаются два одноименных процесса (смотрю в проводнике процессов). Выхожу из приложения, и идет только один из процессов, остальные остаются. Вызов OnProcessMessageReceived никогда не вызывается. Вызов OnRenderProcessTerminated никогда не вызывается. Есть ли что-то конкретное, что мне нужно сделать, чтобы заставить cef убить дочерние процессы? Любые указатели будут полезны. Спасибо!


person Avnir Soni    schedule 13.09.2013    source источник
comment
Вы звонили в CefShutdown? Какая версия КЭФ?   -  person Dmitry Azaraev    schedule 13.09.2013
comment
Использование dcef3 в качестве компонента в компоновщике C++, поэтому нет места для вызова CefInitialize или CefShutdown. Однако теперь проблема решена! Со вчерашнего дня бился головой о клавиатуру, и это было банально. Не вызывал CefLoadLibDefault() после установки CefSingleProcess как false. Я опубликую полный ответ на мой вопрос, как только мне будет разрешено это сделать :)   -  person Avnir Soni    schedule 13.09.2013
comment
@Avnir, я встречал похожую проблему CEF (хотя она в MFC, а не в Delphi), поэтому мне любопытен полный ответ. Я пытался проголосовать за вашу репутацию выше 15, поэтому, когда у вас будет время, поделитесь более подробной информацией. Спасибо!   -  person sunpochin    schedule 10.03.2015


Ответы (1)


Решение. В приложении я делал следующее:

CefSingleProcess = false;
Application->Initialize();
Application->MainFormOnTaskBar = true;
Application->CreateForm(__classid(TForm2), &Form2);
Application->Run();

Я пропустил вызов CefLoadLibDefault(). Чтобы исправить это, я сделал это.

CefSingleProcess = false;
if( !CefLoadLibDefault())
        return 0;
Application->Initialize();
Application->MainFormOnTaskBar = true;
Application->CreateForm(__classid(TForm2), &Form2);
Application->Run();

Теперь все работает нормально. @pac, надеюсь, вы найдете это полезным.

person Avnir Soni    schedule 11.03.2015