C ++ PHP Desktop и CEF аварийно завершают работу LoadUrl () - PullRequest
1 голос
/ 05 марта 2019

Я добавил строку меню на рабочий стол PHP, в которой есть ссылки в моем скрипте, как это

Menu

В коде c ++ я использую WindowProc

case IDM_ACCOUNT:
        CefWindowInfo windowInfo;
        CefBrowserSettings browser_settings;

        CefRefPtr<CefBrowser> cefBrowser;
        CefRefPtr<CefFrame> frame = cefBrowser->GetMainFrame();

        std::string startupURL = "http://127.0.0.1:9990/account/";

        frame->LoadURL(startupURL);

        break;

Мой код вылетает, когда я выбираю что-либо из меню mainBrowser в приложении, чтобы перейти на этот URL.

1 Ответ

0 голосов
/ 06 марта 2019

Переменная cefBrowser содержит пустой объект CefBrowser. Вместо этого используйте такой код:

// browser variable already defined in main.cpp in WindowProc
browser = GetBrowserWindow(hwnd);
if (browser && browser->GetCefBrowser()) {
    CefRefPtr<CefFrame> frame = browser->GetCefBrowser()->GetMainFrame();
    std::string startupURL = "http://127.0.0.1:9990/account/";
    frame->LoadURL(startupURL);
}           
...