简体   繁体   English

如何在金字塔(线程)中使用python和Windows com?

[英]How to use python and windows com in pyramid (threads)?

I'm connecting to MS Word by win32com.client.Distpatch function and on the second request i've got error: 'CoInitialize has not been called.' 我通过win32com.client.Distpatch函数连接到MS Word,并且在第二个请求中出现错误:“未调用CoInitialize。” I've found this topic: 我发现了这个话题:

http://www.velocityreviews.com/forums/t328097-coinitialize-error-when-using-adodbapi.html http://www.velocityreviews.com/forums/t328097-coinitialize-error-when-using-adodbapi.html

and got that I have to call of CoInitialize in new thread. 并得到我必须在新线程中调用CoInitialize。 So question is where to call CoInitialize function in pyramid. 所以问题是在金字塔中哪里调用CoInitialize函数。

So i added call of CoInitialize in function: 所以我在函数中添加了CoInitialize的调用:

@subscriber(NewRequest)
def new_request_subscriber(event):
    import pythoncom
    pythoncom.CoInitialize()

and works without exception. 并且无一例外地工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM