【发布时间】:2010-01-16 15:50:36
【问题描述】:
也许,这对您来说很容易,但我正在努力开发一个项目(出于教育目的),该项目使用 TADSISearch 组件查询 adsi,这几天。我正在尝试在 TADSISearch 搜索 Active Directory 时在 Form2 上显示一个带有人工动画 gif 的“工作中,请稍候..”初始屏幕。虽然我根据我的想法尝试了所有可能,但我无法成功。我尝试在线程中使用 TADSISearch,但线程在 ADSIsearch 完成之前终止。我认为 TADSISearch 不是线程安全的。你怎么看?此外,我创建 Form2 并使用线程对其进行更新的另一种方式,但动画 gif 在主表单消失时停止 adsi 搜索。你对这些有什么想说的?我如何在 ADSISearch 工作时制作请等待屏幕并保持主表单响应。 Application.ProcessMessages 或计时器也不是一种方法。非常感谢您的阅读和回答。
【问题讨论】:
-
你能把你正在使用的代码贴在你的线程上吗?线程似乎不太可能在 TADSISearch 结束之前结束,只有当组件在其自己的线程中工作时才会发生这种情况,而事实并非如此。
-
正如 Jorge 所说,我们需要查看您的代码,我猜您并没有真正在线程中运行活动目录搜索(您是否将 freeonterminate 设置为 true?)或者正在尝试访问mainform 直接从线程(不同步)。在我们看到你的代码之前不能说更多。
-
请等周一,谢谢大家的关注..
-
我发现,当我在线程中使用 ADSISearch 时,会出现错误:无法绑定 LDAP://xxx。在外面,它运行完美。
标签: delphi multithreading adsi