3

ShlObj.pas 第 9922 行(如在 Delphi XE 中):

type
  BFFCALLBACK = function(Wnd: HWND; uMsg: UINT; lParam, lpData: LPARAM): Integer stdcall;
  TFNBFFCallBack = type BFFCALLBACK;
  {$EXTERNALSYM BFFCALLBACK}

在这里回答大卫赫弗南的评论,因为我认为这概述了可能的相关背景,你为什么要问这个?问题。Windows API 来源的回调例程的过程类型被声明为类型别名(你知道,规范 API 名称 +“Pascalized”别名,有时反之亦然)。例如Windows.PIMAGE_TLS_CALLBACKShlObj.LPFNDFMCALLBACK等等。上面显示的类型声明是一个例外。这就是我问的原因:-)

4

1 回答 1

1

这只是迫使我们程序员使用 TFNBFFCallBack 而不是 BFFCALLBACK 的一种方式。如果它是别名,我们可以将其用于浏览信息结构。在不同的平台上,TFNBFFCallBack 可能指向不同于 BFFCALLBACK 的东西。

于 2012-01-21T18:10:16.553 回答