使用ADO对IntraWeb的CoInitialize的错误
题
已经要求对邪恶的交流,但一如既往,这是没有任何帮助。今天我有这个问题:
在使用的IntraWeb创建一个独立的Web应用程序,我得到这个例外在IDE中,当我试图从我的浏览器应用程序测试出一个会话:
在$ 7C812A6B第一次机会异常。 Exception类EOleSysError与 消息“的CoInitialize一直没有 被称为”。流程WebContactManager.exe (1112)
如果我点击“继续”在IDE例外对话框,浏览器本身只是表明:
200 OK
...而不是我的主窗体上的控件。
似乎此错误不会当我和其他数据库组分如dbExpress的或取代BDE ADO发生。
这是什么错误,告诉我,我该如何解决这个问题?
(注意:我使用的股票“VCL为Web”哪来内置与D2007 IntraWeb的组件)。
先感谢您的任何和所有帮助!
解决方案
在“溶液”在链路提供你报价是基本上是没错的,或至少不完全。只有通过设置ServerController.ComInitialization到ciMultiThreaded真IW将出示担保是的每一个的线程将获得COM正确初始化。 (例如认为关于Ajax回调)
如果您创建自己的定制主题,那么你将不得不虽然调用CoInitialize为你自己的线程 - 因为IntraWeb的不知道您的自定义主题
其他提示
刚刚找到一个答案这里:
我发现了一个更好的解决方案作为 整个问题源于使用 IntraWeb的,我更希望得到的IntraWeb到 初始化COM我。这个排序, 出很好。
当使用MS SQL的dbExpress 驱动程序或IntraWeb的ADO驱动程序, 你必须设置ComInitialization 在ServerController财产 “ciMultiThreaded”。
这将消除了“CoInitialize的 没有被调用”错误。