Background: I have a large MDI MFC application that dynamically loads modules at runtime. Some of these modules currently embed local web browsers using the OLE web browser interface (IE embeds). I have several issues and questions:
1. I see both CEF1 and CEF3 are available. A lot of the examples I'm able to find seem to be designed (based on their #includes) for CEF1. Is this better for such a project? I may have one or more embedded web controls on different CViews that the user will switch between. I'm sure how many processes CEF uses will affect which is better.
2. All the examples I've seen require making the CWinApp initialize CEF. My application itself isn't really cognizant of the web browsers, individual dlls may be though. Is the API re-entrant? By this, I mean, if I have 2 DLLs, DLL1 and DLL2 and each initializes CEF and embeds a CEF window, will they step on each other's toes? Will I need to make sure that the exe initializes CEF just once in order to ensure loading/unloading happens correctly?
3. When I try to include "include/cef.h" (CEF1) or "include/cef_client.h"/"include/cef_app.h" (CEF3) I get a lot of errors in the CEF code 'syntax error : 'string'' which keep me from compiling. In my experience, this comes from using STL strings without explicitly using the std namespace. Is my application expected to fix this somehow? I've tried:
a: #include<string>
b: using namespace std;
c: using std::string;
before including the cef headers, and none of them seem to work.
In summary, I would really appreciate a full CEF example (most of the other examples have good code snippets but leave out #includes, etc, which I'm obviously doing wrong somehow). Also, I've noticed the example that comes with CEF (as well as the examples in this forum) are just for MFC dialog apps which are much simpler than what I'm trying to do. Most of these examples are essentially just recreating a browser window. I actually want to EMBED a browser on a CView/CPropertyPage. I'd like to go with chromium instead of IE (since the IE embed uses an old version of IE), but so far its been quite tough. Any help or direction would be appreciated.