c++ - 浏览器问题symbian

标签 c++ webbrowser-control symbian

我想在我编写代码的应用程序中显示浏览器控件

if (iBrCtlInterface == NULL)
{
    TRect rect(Position(), Size());
    iBrCtlInterface = CreateBrowserControlL( this, 
    rect, 
    TBrCtlDefs::ECapabilityDisplayScrollBar | TBrCtlDefs::ECapabilityLoadHttpFw,
    iCommandBase, 
    NULL, 
    NULL,
    NULL, 
    NULL,
    NULL);
}

_LIT(KUrl, "file://BrCtlSampleApp/sample1.htm");

iBrCtlInterface->LoadUrlL( KUrl );

在 E32、E63 设备上运行良好,但在 N73 设备上运行不正常

我不明白,因为它受第 3 版 N73 设备上未显示的第 2 个 fp3 的支持

如果有人遇到同样的问题请告诉我

我已经从 SDK 示例 BrCtlSampleApp 中实现了这段代码,它也不适用于 N73 设备

提前致谢。

最佳答案

我相信 URL 格式才是罪魁祸首。您需要一个额外的 /file: url scheme,并且所有这些正斜杠都需要转换为反斜杠,如下所示:

_LIT(KUrl,"file:///\\BrCtlSampleApp\sample1.htm");

这仍然是一个相对路径,我建议您指定一个完整的 URI,如下所示:

_LIT(KUrl, "file:///C:\\BrCtrlSampleApp\\sample1.htm");

要获取安装您的应用程序的驱动器,请使用 Application()->AppFullName(),从您用于实现 CAknAppUi(CxxxAppUi)

AppFullName() 返回应用程序安装位置的完整路径。一旦您获得了安装路径,提取驱动器号和创建绝对 URI 应该是微不足道的。

关于c++ - 浏览器问题symbian,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2927202/

相关文章:

c++ - 如何用 1 个变量替换正则表达式字符串?

c++ - 错误 : ‘cv::fisheye’ has not been declared

java-me - 在 J2ME 平台中解析这个 XML 需要一些帮助

c# - 在 C# 中更改 WebBrowser 控件的显示字体?

excel - 使用 VBA 从网页复制特定图像并粘贴到 Excel 中

gps - 使用 Camera Access 和 GPS 开发应用程序

java - 在 Symbian 上开发的最佳方式

C++ 自定义内存管理使用 brk() 系统调用分配内存?

c++ - 使用C++ API注册COM DLL的所有接口(interface)

browser - 如何在Visual Basic 6中嵌入浏览器控件?