【问题标题】:unable to launch application when lync is running?lync 运行时无法启动应用程序?
【发布时间】:2015-08-28 05:54:52
【问题描述】:

我正在处理我的delphi 应用程序的一些奇怪问题。 场景如下:

如果microsoft Lync 正在我的机器上运行,并且如果我想启动我的应用程序,它不会显示,但该进程已为我的应用程序启动。

当我关闭lync 时,我的应用程序立即可见。 以下是您可能需要的一些要点:

  1. 我的应用程序没有与Microsoft Lync 的任何链接。
  2. 当我关闭 lync 时,Application 进程正在运行
  3. Form.Show() 是我的代码调用的最后一条语句。
  4. 此问题并非在每台机器上都存在。

我不确定为什么会这样。

谁能帮我解决这个问题?

任何帮助或建议都会对我有用。 提前致谢。

【问题讨论】:

  • 您的程序有什么特别之处?普通 VCL 表单应用程序也会发生同样的情况吗?
  • @DavidHeffernan 我的程序只是一个简单的程序,没有任何特别之处。只是一个主窗体和一个使用 ShowModal() 调用的子窗体。不,不是每个应用都会发生这种情况,只有我的应用才会发生这种情况
  • 普通 VCL 表单应用程序也会发生同样的情况吗?
  • 对不起,我没听懂vanilla VCL forms app的意思?
  • 我有同样的问题,但使用的是 Lync。当我尝试启动 Lync 时,它说 Microsoft Outlook 的另一个窗口已经创建并且它中止了 Lync。

标签: windows delphi lync delphi-5


【解决方案1】:

最后, 经过长时间检查代码后,我才知道这个问题是由于在代码中的某处将桌面设置为父窗口。 请参阅此链接以获取SetParent()

当我们与微软讨论这个问题时,我知道当我们调用 SetParent(Handle, 0) 时,Lync 的某些应用程序出现了问题,这将进入一个漫长的等待状态。

解决方案: 我所做的是因为SetParentfunction 调用在我的代码中很重要,所以我将表单的SetParent 属性分配给我的应用程序句柄,这样就解决了我的问题。

完成上述步骤是因为在 spy++ 中我发现每个 delphi 应用程序作为 2 个实例 1 用于 TApplication,另一个用于同一应用程序的 MainFrom i.e. TForm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多