我正在尝试将 Delphi 5 项目重构为 Delphi XE,为此需要修复名为 BrowseDr 的单元中的一些错误。我遇到的错误是:
[DCC Error] BrowseDr.pas(1033): E2033 Types of actual and formal var parameters
must be identical
line 1033: SHGetMalloc(FShellMalloc);
"MyShlObj":
//SHGetMalloc declaration
function SHGetMalloc(var ppMalloc: IMalloc): HResult; stdcall;
现在,在FShellMalloc的声明中使用的IMalloc来自于OLE2.IMalloc,而在"MyShlObj"中使用的则是ActiveX.IMalloc。
是否可以更改它们中的一个?如果可以,是否推荐这样做?