我正在开发一个VB6项目。有一些我想要废弃的方法。删除方法体后,想法是引发标准COM错误,例如
Err.Raise E_NOTIMPL
在这种情况下,我使用标准的“方法未实现”错误,但这不是我想要返回的正确消息。
有什么想法吗?
答案 0 :(得分:5)
如果方法仍然有效,但已弃用,请将其保留,并在IDL中将其标记为隐藏和不可浏览,并在帮助字符串中添加适当的注释。这将它们隐藏在开发人员面前。
如果它们不再起作用,那么理论上你需要一个新的CLSID,因为你违反了合同。
如果它们不再工作,但没有客户端实际使用它们,那么你可以使用E_NOTIMPL - 这是合适的。 (还要将它们标记为隐藏并添加帮助字符串解释。)
但是请注意,如果调用者 调用该方法,那么无论是返回E_NOTIMPL还是创建新的clsid并重新编译它们,它们都会被破坏。