在*.dpr 中写个函数,看有没。
function IsParam: Boolean;
begin
  Result := FindCmdLineSwitch('Param1',['-','\','/'], True) or
    FindCmdLineSwitch('Param2',['-','\','/'], True)
end;
还有是不是ParamStr[I]什么的,不知道是不是

解决方案 »

  1.   

    begin
    Application.Initialize;
    if IsParam then
    Application.CreateForm(TForm1, Form1)
    else
    Application.CreateForm(TForm2, Form2);
    Application.Run;
    function IsParam: Boolean;
    begin
      Result := FindCmdLineSwitch('Param1',['-','\','/'], True) or
        FindCmdLineSwitch('Param2',['-','\','/'], True)
    end;begin
      Application.Initialize;
      if IsParam then  //有参数(ParamName: Param1, Param2),则应该看的懂吧不费话了
        Application.CreateForm(TForm1, Form1)
      else
        Application.CreateForm(TForm2, Form2);
      Application.Run;
    end.
      

  2.   

    怎么乱七八糟的,再贴,以下程序已经调试,在command.com下试了:
    Project1.exe -param1
    project1.exe /param2
    project1.exe \param2
    都可以。
    function IsParam: Boolean;
    begin
      Result := FindCmdLineSwitch('Param1',['-','\','/'], True) or
        FindCmdLineSwitch('Param2',['-','\','/'], True)
    end;begin
      Application.Initialize;
      if IsParam then  //有参数(ParamName: Param1, Param2),则应该看的懂吧不费话了
        Application.CreateForm(TForm1, Form1)
      else
        Application.CreateForm(TForm2, Form2);
      Application.Run;
    end.