采用三层结构中,把用来执行后台过程的TStoredProc放在中间层,在中间层写了调用后台过程的过程,在前台应用中要在线程里调用该过程,老报"Variant is not array",怎么解决?
代码如下:
constructor ThreadCalCu.Create(ProgressBar:TProgressBar;BarPro:TStatusBar;Unit_ID:String;JLDString:TStringList;SocketCEP:TSocketConnection);
Begin
  FProgressBar:=ProgressBar;
  FUnit_ID:=Unit_ID;
  FJLDString:=JLDString;
  FStringSCount:=FJLDString.Count;
  FSocketCEP:=SocketCEP;
  FBarPro:=BarPro;
  inherited Create(False);
End;procedure ThreadCalCu.Execute;
Var
  I:Integer;
  ParamValues:WideString;
begin
  try
    For I:=0 to  FStringSCount-1 do
    Begin
      If  CancelCalCu then
          Break;
      ProgressStep:=I+1;
      FJLD_ID:=FJLDString.Strings[I];
      Synchronize(Refrash);      ParamValues:=FJLD_ID+#13+FUnit_ID;
      Try
        FSocketCEP.AppServer.ExectProc('TEST','111');
      Except
        FTEXT :='计算【'+ FJLD_ID+'】时出错';
        Synchronize(Refrash);
      End;
    End;
  Finally
  End;
end;