1、换成这样定义试试:
  TArrayDouble = array of Double;
  TForm1 = class(TForm)
  private
    function GetValue(X: TArrayDouble): Double;
    { Private declarations }
  public
    { Public declarations }
    property  Values[X: TArrayDouble]:  Double  read  GetValue; default;
  end;
2、参看一些条件编译,不过总体来说,要改的很多。{$IFDEF  WINDOWS}如果你不写Linux的程序,这个条件编译没有什么用处。
3、用Session.AddAlias