我的申请有两份表格
我在我的“仪表板表单”上使用了一个qlickview ocx控件,我用这个控件打开我的QVW文件,一切都很好,.
但是--如果我打开的QVW文档在重新加载时间上遇到了错误,或者换句话说,我的OCX控件遇到了问题,当我试图重新打开“仪表板表单”并打开一个QVW文件时,我的应用程序将挂起。
步骤:
当我关闭仪表板表单时,我对前面的问题是如何存在的感到困惑,当我重用ocx控件时,它会导致新的更大的问题。
发布于 2014-01-15 09:46:44
Qv -- OCX和web --在失去焦点时往往表现得很奇怪。
在使用OCX时,我使用以下方法
/// <summary>
/// Loading the QV document and a retry when we have missed contact with the qv document.
/// </summary>
private void LoadQvIfNecessary(bool forceDocumentReload =false)
{
Parent.Text = DateTime.Now.ToLongTimeString();
if (forceDocumentReload)
axQlikMainApp.DocName = null;
if (axQlikMainApp.ActiveDocument == null)
axQlikMainApp.DocName = Loader.Instance.Settings.QlikViewPlanningDocumentPath;
Thread.Sleep(100);
if (axQlikMainApp.ActiveDocument == null)
{
DialogResult result = Logger.ShowMessage("Du har tappat kontakten med databasen.\nVill du återuppta kontakten med databasen?\nOm du väljer ”Avbryt” stängs programmet ned.","Tappat kontakt",Logger.MessageLevel.CriticalError,MessageBoxButtons.RetryCancel);
if (result == DialogResult.Cancel)
Environment.Exit(0);
for (int i = 0; i < 10; i++)
{
Thread.Sleep(300);
Application.DoEvents();
}
LoadQvIfNecessary();
}
}这是个丑陋的混蛋,但这真的很管用。问题是你什么时候访问这个。我使用focus事件来检查这一点。
此外,我有一个重新加载文档的手动按钮。
https://stackoverflow.com/questions/16494153
复制相似问题