在C++接口声明中使用关键字



我正在将Direct2Dd2d1_1.h头文件移植到Delphi,但我遇到了一个声明问题。我不清楚(d2d_1.h中的行1522(:

interface DX_DECLARE_INTERFACE("e8f7fe7a-191c-466d-ad95-975678bda998") ID2D1DeviceContext  : public ID2D1RenderTarget
{
STDMETHOD(CreateBitmap)(
D2D1_SIZE_U size,
_In_opt_ CONST void *sourceData,
UINT32 pitch,
_In_ CONST D2D1_BITMAP_PROPERTIES1 *bitmapProperties,
_COM_Outptr_ ID2D1Bitmap1 **bitmap
) PURE;    
using ID2D1RenderTarget::CreateBitmap;       //<<<<<====== This line
// More code deleted for simplicity
}; // ID2D1DeviceContext

在Delphi中没有这样的概念使用";接口声明中的关键字。

我的问题是:我应该因为C++编译器有一些魔力而忽略这一行吗?还是应该重新生成ID2D1RenderTarget::CreateBitmap声明?

IMO接口实际上是指向所有方法的指针数组。所以我想我必须从继承的接口中复制声明,这样他的插槽就被占用了。

我的问题是:我应该因为C编译器有一些魔力而忽略这一行,还是应该重新生成ID2D1RenderTarget::CreateBitmap声明?

using声明基本上将在其他地方定义的类型引入到当前作用域中。它具有允许写入CreateBitmap而不是ID2D1RenderTarget::CreateBitmap的效果。

当从C++移植到Delphi时,用"使用";关键字必须简单地忽略。

最新更新