2012-04-30 84 views
1

我有一个PowerBuilder应用程序,用PDFCreator创建通知并保存为PDF。之后,我想通过邮件发送这些文件,使用SQL Server 2008中的存储过程。等待PDF打印机完成,PowerBuilder

例如,我有50个通知。我想: - 所有保存为PDF文件(50 PDF文件 - PowerBuilder的应用程序) - 通过邮件向他们发送(存储过程 - SQL)

我节约每一通知用数据窗口(.saveAs法): 是dw_1。 saveAs(ls_path,PDF !, true)

如果我尝试运行应用程序,然后运行存储过程,则save-pdf过程比应用程序的执行时间慢得多,所以我无法通过邮件发送的文件,因为他们没有被创建... :(

我该怎么办?任何想法?

Thx很多

回答

1

警告:自己没有尝试过。

我认为如果您尝试使用LockReadWrite!创建的PDF FileOpen(),它会失败,如果PDF创建过程尚未完成。所以,我会尝试一个带Sleep()的循环,当FileOpen()成功时退出。 (在成功时记住FileClose()!)在循环结束后调用存储过程。

祝你好运,

特里。

+0

Thx很多,这工作得很好! :) –

0

我们使用DataWindow saveas PDF(Ghostscript),它在PDF创建之前不会返回。

+0

哪种saveas方法?在Sybase文档中,有两个'saveas',但是他们都没有说在创建PDF之前不会返回... thx –

+0

一个用于DataWindows,另一个用于DataWindows内部的Graph控件。我指的是数据窗口的SaveAs,但我希望Graphs的版本具有相同的行为方式。我在Process Explorer中看过SaveAs几次,我可以向你保证PB启动Ghostscript并等待它退出。 –

+0

也许你可以开始这个过程并同时打开一个响应窗口,轮询完成。我对PB PDF的创建没有太多的运气,但有一些人有。许多公司已经有了解决方案,特别是财富500强,如果你问你的IT部门。也许有一个文件夹,你可以删除一个文件,并让它自动变成PDF。 :) –