我在 Delphi 7 中使用 Indy 10。我在主窗体中有一个 TidCookieManager,我希望将其 cookie 复制到另一个线程中的另一个 cookie 管理器,这个线程显然可以访问主窗体。
如何复制这些 cookie?
谢谢,
大卫
我在 Delphi 7 中使用 Indy 10。我在主窗体中有一个 TidCookieManager,我希望将其 cookie 复制到另一个线程中的另一个 cookie 管理器,这个线程显然可以访问主窗体。
如何复制这些 cookie?
谢谢,
大卫
TIdCookieManager
具有CookieCollection
类型的公共属性,TIdCookies
可提供对实际 cookie 的访问。一个人的 cookieTIdCookies
可以TIdCookies
通过其Assign()
orAddCookies()
方法直接复制到另一个人,例如:
// clears the dest collection before then copying cookies to it...
CookieMgrInWorkerThread.CookieCollection.Assign(CookieMgrInMainThread.CookieCollection);
// does not clear the dest collection before copying cookies to it...
CookieMgrInWorkerThread.CookieCollection.AddCookies(CookieMgrInMainThread.CookieCollection);
无论哪种方式,都是线程安全的,因为它在读/写操作期间TIdCookies
使用内部。TMultiReadExclusiveWriteSynchronizer