问题标签 [iunknown]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1215 浏览

c# - VB6 到 C#:IUnknown

我在 VB6 中有一个属性,我正在尝试将其转换为 C#。如下:

m_coll是私有变量,现在是 aArrayList而不是前者Collection

m_coll正在填充我自己的类对象之一。如您所见,此属性属于IUnknown类型。

在这一点上我可能只是没有正确思考,但是在 C# 中是否有与这种属性等效的东西?

0 投票
3 回答
7282 浏览

c# - 在 C# 中实现 IUnknown

我一直在寻找如何在 C# 中实现IUnknown的示例,但没有找到任何合适的参考或解决方案。

是不是应该这么简单...

...或者还有更多吗?

0 投票
2 回答
410 浏览

delphi - 从 IShellLibrary 添加、删除文件夹

我正在尝试编写两个函数来从IShellLibrary. 我从这个开始,但该函数在System._IntfClear

第一次机会例外在 $000007FEFE 168BC4。带有消息“c0000005 ACCESS_VIOLATION”的异常类 $C0000005。

SHAddFolderPathToLibrary是导致异常的行

我想我需要将库名称添加到函数中?

0 投票
1 回答
22 浏览

iunknown - 使用上传的文件自动生成图像

我必须创建一堆 jpeg 图像,它们具有相同的模板,只有几个组件会根据用户而变化。我想知道用来做这个的最好的软件/语言是什么?

例如:我必须生成一个 2443x2443 的 jpeg。只有名称和配置文件描述会改变。这些更改将由用户提供。

0 投票
1 回答
1448 浏览

php - yii 属性“CWebUser.bootstrap”未定义,无法访问gii

我有一个使用 yii 框架的网站。首先,在我启动并运行网站后,我想安装引导程序(yii-bootstrap-2.1.0.r355.zip)。然而,这并不顺利。

我收到以下错误“未定义属性“CWebUser.bootstrap”。”

Bootstrap 扩展被放置为 /blog/protected/extensions/bootstrap

我的主要配置文件看起来像这样

);

0 投票
2 回答
7334 浏览

excel - 如何在 VBA 中实现自定义可迭代类

我想在我的类中添加一个特性,这样我就可以在 for-each 循环中使用它们。

我写了我想要迭代的 hashmaps、arraylists、队列、集合等等。现在我正在寻找一种方法来实现 IUnknown 类来构建自定义迭代器。

我已经知道如何使用

但是所有这些示例都基于我不想使用的 Collection 类。

我想关注的是尝试实现 IUnknown 接口,但我还没有找到任何关于如何做到这一点的参考资料。

我在 Java、C++、C# 等方面有丰富的经验,所以我认为即使在 VBA 中也必须有一种方法来实现它,甚至可能使用 API 调用之类的东西。

0 投票
3 回答
256 浏览

c++ - 当我的程序终止时,我是否应该总是在 COM 指针上调用 Release?

我知道现代 Windows 版本会在程序终止后回收以前使用 等获取的内存mallocnew但是 COM 对象呢?我应该obj->Release()在程序退出时调用它们,还是系统会为我这样做?

我猜它:这取决于. 对于进程外 COM,我可能应该总是调用Release(),但对于进程内 COM,我认为这并不重要,因为 COM 对象在程序终止后无论如何都会死掉。

0 投票
1 回答
420 浏览

runtime-error - ConnectEx 返回 false 并且 WSAGetLastError 返回 0

这个片段是一个函数的一部分,当套接字连接(或连接)时应该返回 true,如果有任何失败则返回 false。

我不明白为什么 rc 和 err 总是为零,无论块的实际结果如何。如果参数正确(上面的顺序),尽管指示失败(我看到套接字与 netstat 连接),此块仍然有效。但是如果我调整参数,通过将重叠更改为 NULL 或将套接字更改为 -1,函数返回相同的值。

0 投票
2 回答
567 浏览

interface - 为什么 AddRef() 和 Release() 的返回类型不是 HRESULT

最近开始学习COM。在 COM 中,函数的返回类型应该是 HRESULT。已阅读有关IUnknown 函数的HRESULT问题GetLastError(),但为什么,AddRef()Release()有返回类型ULONG

我想出了AddRef()(几乎)总是从 调用的答案QueryInterface(),而客户不应该调用它。而对于Release(),它的返回值永远不会被检查。

虽然我可以与 - 因为AddRef()- 客户可能会遇到他不得不称之为的情况来争论我自己的答案。并且由于客户可以访问该功能,客户不会调用它的保证是什么。

for Release()- 同样,用户可以检查它的返回类型,因为他可以

请说清楚。

也像 --> 它的约定是为 COM 相关函数设置 HRESULT 返回类型,而不是强制 --> 如果这是真的,它将停止我大脑中的混乱。

0 投票
2 回答
1061 浏览

c# - 如何使用 C# 将 IUnknown 参数传递给 COM 接口?

我有一个这样定义的 COM 接口

如何IUnknown使用 C# 传递对象?