应用程序在第二次打开PDF时崩溃

时间:2013-09-15 14:34:01

标签: pdf rhomobile rhodes

我有生成pdf的方法,并在调用方法时打开它。

generate_pdf()
file_location = File.join(Rho::RhoApplication.get_app_path('public'),'pdfs/File110.pdf')
System.open_url(file_location)

现在generate_pdf()我有,

pdf = PDF::Writer.new
x = pdf.absolute_left_margin - 10
y = pdf.absolute_top_margin - 10
pdf.add_text(x,y,"Hello World",20)
file_location = File.join(Rho::RhoApplication.get_app_path('public'),'pdfs/File110.pdf')
pdf.save_as(file_location)

所以上面的代码只是第一次运行。第二次单击时,应用程序崩溃。 代码有什么问题?

1 个答案:

答案 0 :(得分:1)

解决方案非常有趣。在我的一个项目中发生了这件事。

You are not closing the pdf after that is being opened by the application.

您需要关闭默认查看器中打开的pdf。

第二次单击时,应用程序尝试创建并存储在与以前相同的位置,但是当在某个默认阅读器中打开文件时,应用程序无法获得存储和崩溃的权限。

所以你可以提出的一点是,如果是这种情况,那么如果用户打开pdf并将其最小化会发生什么。所以那个时候,应用程序会崩溃。

但答案是NO。崩溃只发生在RhoSimulator中,而不是模拟器或真实设备上。在设备上,没有关于权限的问题。

因此,您可以毫不紧张地继续发布应用程序。