代码之家  ›  专栏  ›  技术社区  ›  Omair Iqbal

没有足够的实际参数?

  •  0
  • Omair Iqbal  · 技术社区  · 16 年前

    error : e2035 not enough actual parameters 两处(第39行和第45行),未编译。有人能帮我吗? 我可以在这里用0或null代替参数吗?

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,ComObj,shdocvw,activex, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
      var
       mybrowser : iwebbrowser2;
      myUserName,
    myPassword,loginURL : string;
        Flags: OleVariant;
    
    begin
        Flags :=  navOpenInNewWindow;
         MyBrowser := CreateOleObject('InternetExplorer.Application') as IWebBrowser2;
    MyBrowser.Navigate('http://www.gmail.com',flags,'_blank');
    
    myUserName := 'UserName';
    myPassword := 'password';
    loginURL:='javascript:var Email = document.getElementById(''Email'');Email.value=''' + myUserName + ''';var Password = document.getElementById(''Passwd'');Password.value=''' + myPassword + ''';var SignIn = document.getElementById(''signIn'');SignIn.click();';
    
    MyBrowser.Navigate(loginURL);
    
    end;
    
    end.
    
    3 回复  |  直到 16 年前
        1
  •  5
  •   Sertac Akyuz    16 年前

    您可以在variants.pas上使用任何伪变量或“EmptyParam”变量;

    MyBrowser.Navigate(loginURL,0,EmptyParam,EmptyParam,EmptyParam);
    
        2
  •  2
  •   Andreas Rejbrand    16 年前

        procedure Navigate(const URL: WideString; const Flags: OleVariant;
                       const TargetFrameName: OleVariant; var PostData: OleVariant;
                       const Headers: OleVariant); safecall;
    

    所以你需要更多的参数。有关MSDN的官方文档,请参见 MSDN

    你可以写

    var
      PostData: OleVariant;
    
    PostData := 0;
    MyBrowser.Navigate('http://www.gmail.com',flags,'_blank', PostData, 0);
    
        3
  •  2
  •   Francesca    16 年前

    EmptyParam 类似于(Delphi源代码) SHDocVw.pas :

    procedure TWebBrowser.Navigate(const URL: WideString);
    begin
      DefaultInterface.Navigate(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
    end;
    
    procedure TWebBrowser.Navigate(const URL: WideString; const Flags: OleVariant);
    begin
      DefaultInterface.Navigate(URL, Flags, EmptyParam, EmptyParam, EmptyParam);
    end;
    
    procedure TWebBrowser.Navigate(const URL: WideString; const Flags: OleVariant;
                                   const TargetFrameName: OleVariant);
    begin
      DefaultInterface.Navigate(URL, Flags, TargetFrameName, EmptyParam, EmptyParam);
    end;
    
    procedure TWebBrowser.Navigate(const URL: WideString; const Flags: OleVariant;
                                   const TargetFrameName: OleVariant; var PostData: OleVariant);
    begin
      DefaultInterface.Navigate(URL, Flags, TargetFrameName, PostData, EmptyParam);
    end;
    
    procedure TWebBrowser.Navigate(const URL: WideString; const Flags: OleVariant;
                                   const TargetFrameName: OleVariant; var PostData: OleVariant;
                                   const Headers: OleVariant);
    begin
      DefaultInterface.Navigate(URL, Flags, TargetFrameName, PostData, Headers);
    end;
    
    推荐文章