如何在delphi中导入接口?

时间:2012-11-21 05:41:40

标签: delphi interface

我想从Windows库中获取文件夹路径(例如:Libraries \ Documents)。我发现它需要使用IShellLibrary interface,但我找不到ShlObj(Delphi 2009 x64 win7)中的声明。我想知道如何将此接口导入我的代码? enter image description here

1 个答案:

答案 0 :(得分:4)

如果您不能使用包含此界面的现代Delphi,则需要从Windows头文件转换界面,在本例中为Shobjidl.h。在Delphi中它的开头是这样的:

IShellLibrary = interface(IUnknown) 
  ['{11A66EFA-382E-451A-9234-1E0E12EF3085}']
  ....
end;

可以在头文件中找到GUID。然后,您需要添加功能。您必须按照与头文件中声明的顺序相同的顺序添加它们。这些函数都应声明为stdcall

我不想从XE3来源发布整个界面声明,因为我认为这是侵犯版权的行为。

也许如果你搜索得足够多,你可能会在网上找到这个代码。事实上,我刚刚找到它:http://mustangpeakcommonlib.googlecode.com/svn-history/r12/trunk/Source/MPShellTypes.pas