使用AR9.0 VS2015.
程序后台线程中直接调用一函数A(),
A中要自动打印一账票R1,再预览一账票R2,
现象1:执行到预览账票R2时,报错提示线程需要STA :"ShowWindow","呼び出しスレッドは、多数の UI コンポーネントが必要としているため、STA である必要があります。
现象2:将线程改为STA后,执行到预览账票R2时,报“object被另一个线程占用,呼出线程不能访问”错误。
现象3:若将函数A改为INVOKE到UI线程调用,在执行到打印账票R1 时,程序卡死到虚拟打印机保存对话框(鼠标可移动,但对话框上按钮点击无反应)。
跟踪到代码发现,以下出现问题时,If分支走一次,Else未执行:
Private Sub rptErrList_FetchData(ByVal sender As Object, ByVal eArgs As GrapeCity.ActiveReports.SectionReport.FetchEventArgs) Handles MyBase.FetchData
If reder.Read = True Then
xxxxx
eArgs.EOF = False
Else
xxxxx
eArgs.EOF = True
End Sub
请帮分析原因,提供解决思路,感谢。
|
|