function MatchesMask(const Filename, Mask: string): Boolean;var CMask: TMask;begin CMask := TMask.Create(Mask); try Result := CMask.Matches(Filename); finally CMask.Free; end;end;constructor TMask.Create(const MaskValue: string);var A: array[0..0] of TMaskState;begin FSize := InitMaskStates(MaskValue, A); FMask := AllocMem(FSize * SizeOf(TMaskState));////分配内存 InitMaskStates(MaskValue, Slice(PMaskStateArray(FMask)^, FSize));end;定义一个全局的TMask实例,每次使用的时候不要再重复创建这个TMask对象