看上去像是:
一个过程指针。
type
  ViewCTL_PDecodeBegin = procedure(dwSlotNumber: DWORD; dwParam1: DWORD; dwParam2: DWORD); stdcall;

解决方案 »

  1.   

    这是一个函数指针类型,在 Delphi 中声明一个过程类型及其相应的指针类型:
    type
      VIEWCTL_PDecoderBeginProc = procedure(dwSlotNumber,
                                            dwParam1, dwParam2: DWORD); stdcall;
      PVIEWCTL_PDecoderBeginProc = ^VIEWCTL_PDecoderBeginProc;使用的时候直接声明这个过程指针类型的变量或者过程类型变量:
    var
      PProc: PVIEWCTL_PDecoderBeginProc; // 过程类型指针变量
      Proc: VIEWCTL_PDecoderBeginProc; // 过程类型变量在赋值时,PProc 可直接获取函数地址,而 Proc 必须用 @Proc := 的形式获取函数地址:
    hDLL := LoadLibrary('ddd.dll');
    PProc := GetProcAddress(hDLL, 'DecoderBeginProc'); // 我假设 DLL 中的函数名字
    @Proc := GetProcAddress(hDLL, 'DecoderBeginProc'); // 注意 Proc 的赋值方式在调用时,Proc 直接当作函数名调用,而 PProc 必须以 PProc^ 的形式作为函数调用:
    Proc(a, b, c);
    PProc^(a, b, c);大致就是以上这些。