function ParametersToVariant(par:TParameters;ProcedureName:Variant): OLEVariant;var        tmpv:Variant;
        n,i:integer;
begin
        tmpv:=VarArrayCreate([0,par.Count*5+1],VarVariant);
        tmpv[0]:=ProcedureName;
        tmpv[par.Count*5+1]:='this is fro Midas';
        n:=0;
        i:=0;
        while par.Count>i do begin
                tmpv[n+1]:=par.Items[i].Name;
                tmpv[n+2]:=par.Items[i].DataType;
                tmpv[n+3]:=par.Items[i].Direction;
                tmpv[n+4]:=par.Items[i].Size;
                tmpv[n+5]:=par.Items[i].Value;
                i:=i+1;
                n:=n+5;
        end;
        result:=tmpv;
end;
在调试时发现比如par.Items[i].DataType是Ftstring而运行结果tmpv[n+2]为unknown type:17错误
大虾们指点一下迷经,该怎么付值