首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何加载资源分配

我如何加载资源分配
EN

Stack Overflow用户
提问于 2014-11-17 15:38:56
回答 1查看 631关注 0票数 0

我正在使用XE7 Rad为安卓和IPhone构建“应用程序”。目前专注于Android系统。

根据需求,我需要将HTML作为资源字符串加载到应用程序中。

代码语言:javascript
复制
WebBrowser1.LoadFromStrings(ResourceStrings.HTMLString,'');
//Loads the resource-string successfully.

但是,在这个资源字符串中,我需要加载图像,而我不知道如何去做。我可以在部署中看到将映像加载到项目{Bitmap_1、Bitmap_2、Bitmap_3}中。

如何完成这一行:

代码语言:javascript
复制
resource-string:

...'<a href="/images/im2.bmp"><img id="img2" class="thumbnail" src="/images/im2.bmp" alt="/images/im2.bmp"/></a>'...

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-17 22:29:41

如果您阅读文档 for LoadFromStrings(),它会说:

显示TWebBrowser组件中的HTML内容。 此方法使用以下参数:

  • Content:指定要显示的HTML字符串。
  • BaseUrl:指定用于解析加载页面中的相对URL的路径。为了澄清,请考虑以下场景:将此参数设置为www.mycompany.com/departments/**,,加载的页面定义链接** <a href=’Sales.html’>Sales dept</a>**.在给定情况下,单击此链接将打开** http:// www.mycompany.com/departments/Sales.html**.**

这正是您所遇到的确切情况。HTML包含指向外部图像的相对链接,但您没有提供BaseURL,因此WebBrowser无法解析加载这些图像所需的正确URL。

在Deployment中,将映像文件的远程路径设置为StartUp/Documents/images/StartUp/Library/Application Support/images/。在应用程序启动时,德尔福将把以StartUp开头的文件复制到设备上的相应文件夹中。然后,您可以在调用LoadFromStrings()时执行以下操作

代码语言:javascript
复制
// note sure which function to use for 'StartUp/Library/Application Support/',
// maybe TPath.GetLibraryPath()? This example is for '/StartUp/Documents/'...
WebBrowser1.LoadFromStrings(ResourceStrings.HTMLString, 'file://' + TPath.GetDocumentsPath);

这将使"/images/im2.bmp"能够解决类似file:///data/data/<application ID>/files/images/im2.bmp"之类的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26976256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档