丢失ShowMessage窗口的模态

时间:2012-09-20 09:32:50

标签: delphi

我使用TAcroPDF activeX控件来打印pdf文档。应用程序打印页面,但如果需要打印2页,则打印第一页,然后显示消息对话框,要求用户翻页,然后打印第二页。这个概念非常简单,但由于未知原因,它无法正常运行。它确实打印了第一页,但随后闪烁了ShowMessage窗口(立即隐藏),应用程序似乎正在打开。然后我可以恢复隐藏在主应用程序窗口后面的丢失的Showmessage窗口,但是(奇怪的是)我可以轻松地在showmessage窗口和主应用程序之间改变焦点。看起来程序在其他线程中运行,因为ActiveX ???当我点击" OK"按钮,执行ShowMessage('Please, turn the page');后的代码。任何人都可以告诉我发生了什么事吗?这是一个例子:

procedure TForm1.btn1Click(Sender: TObject);
begin
acrpdf1.src := Getcurrentdir + '\temp.pdf';
acrpdf1.PrintAll;
ShowMessage('Please, turn the page'); //it does not hover over main window, it hides behind
Form1.Color:=clRed;  //it is executed after closing Showmessage window
end;

0 个答案:

没有答案