exe 可以接受的参数就是String(Char),不能是别的类型。除非是用多个参数来组成一个TStrings类型。

解决方案 »

  1.   

    接受参数就是用ParamStr了,
    e.g.
    for i:=1 to ParamCount-1 do 
      StringList1.Add(ParamStr(i));
      

  2.   

    下面过程是执行可执行程序(FileName),并使用参数(数据库的BDE别名,用户名,密码)请你参考
    procedure TfrmReportMain.ExecuteFile(FileName: string);
    var
      Param: string;
    begin
      with DataModule1.DatabaseMain do
      begin
        Param := AliasName + ' ' +
          copy(Params.Strings[0],
               pos('=', Params.Strings[0]) + 1,
               Length(Params.Strings[0]) - pos('=', Params.Strings[0])) + ' ' +
          copy(Params.Strings[1],
               pos('=', Params.Strings[1]) + 1,
               Length(Params.Strings[1]) - pos('=', Params.Strings[1]));
      end;  try
        ShellExecute(Handle, 'Open', PChar(FileName), PChar(Param), '', SW_SHOW);
      except
        MessageBox(Handle, PChar('无法执行程序:' + FileName), 'err', MB_OK + MB_ICONERROR);
      end;
    end;