这是摘的别人写的一个线程类,偶在机器里(D7)编译通不过,提示undeclared identifier :TSortArray,偶把第一句注释掉,然后把FSortArray:PSortArray改为FSortArray:TSortArray,结果,提示data type too large:exceeds 2GB
偶的use部分只有classes,加上typinfo也不可以
高手能不能帮忙看一下,问题出在哪里
第一个错误是为什么
第二个错误又是为什么类定义如下:
type
  PSortArray=TSortArray;
  TSortArray=array[0..MaxInt div SizeOf(Integer)-1] of Integer;
  {此处定义了TsortThread类}
  TSortThread=class(TThread)
  private
    {在TSortThread类中定义了如下几个私有变元}
    FSortArray:PSortArray;
    FSize:Integer;
    FA,FB,FI,FJ:Integer;
  protected
    {类TSortThread超越了类Tthread的Execute方法}
    procedure Execute;override;
    {类TsortThread添加了一个Sort方法}
    procedure Sort(var A: array of Integer);
  public
    {类TSortThread超越了类Tthread的构造方法}
    constructor Create(var SortArray: array of Integer);
  end;