我想编写一个Delphi函数来注册dll文件。在执行注册之前,我希望该函数检查是否已经调用了OleInitialize函数。我猜我试图避免初始化两次的后果,因为我不确定它们可能会是什么。我担心我的函数不能像regsvr32.exe一样处理各种类型的dll文件。
请查看文档: 返回值 [...] S_FALSE - 在该单元中,COM库已经初始化。 ...还有: 通常,在单元上只会初始化一次COM库。后续调用将成功,只要它们不尝试更改单元的并发模型,但将返回S_FALSE。