![](/img/trans.png)
[英]same python source code on two different machines yield different behavior
[英]Can a CLSID be different for the same program installed on two different machines?
我正在使用comtypes为某个com库生成包装器。 我在某些方面遇到了某些问题,这些问题无法正确生成。 我可以通过手动执行丢失的工作来解决此问题。 但是,我可以依靠CLSID不会改变的事实吗?
让我们说:
我使用com库Foo 1.0安装了一个程序,现在我在另一台PC上安装了与该程序完全相同的版本,接口的CLSID是否会更改?
这可能是一个非常愚蠢的问题。
至少应该不更改CLSID。 自然,程序可以做很多违反规则的愚蠢事情。 但是:由于CLSID是类的加载方式,因此更改的CLSID意味着类的USING程序也必须使用更改的CLSID。
Su,您的假设是正确的-如果在两台计算机上安装了相同版本的相同程序,则可以安全地假定CLSID不变。
甚至在版本之间也应该这样做。...但是,如果库Foo 1.0仅由一个程序使用,则程序员可能会因为更改了CLSID而逃脱了。 但是,它不应该改变。
免责声明:做了大量的COM,但从未使用python。
COM接口的UUID是接口定义的一部分。 每台机器上的所有时间都应该相同。
同样,在ATL COM领域中,类具有CLSID,接口具有IID。 它们都具有UUID(或可能的GUID)。 不确定python。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.