也是从大富翁上看到的。
procedure Navigate(const URL: WideString); overload;
procedure Navigate(const URL: WideString; var Flags: OleVariant); overload;
procedure Navigate(const URL: WideString; var Flags: OleVariant; var TargetFrameName:OleVariant); overload;
procedure Navigate(const URL: WideString; var Flags: OleVariant; var TargetFrameName:OleVariant; var PostData: OleVariant); overload;
procedure Navigate(const URL: WideString; var Flags: OleVariant; var TargetFrameName:OleVariant; var PostData: OleVariant; var Headers: OleVariant); overload;
而在实际应用中,使用后几种方法调用时,由于我们很少用到后面几个参数,
但函数声明又要求是变量参数,一般的做法如下:
var
t:OleVariant;
begin
webbrowser1.Navigate(edit1.text,t,t,t,t);
end;
需要定义变量t (还有很多地方要用到它),很麻烦。其实我们可以用 EmptyParam
来代替(EmptyParam是一个公用的Variant 空变量,不要对它赋值),只需一句
话就可以了:webbrowser1.Navigate(edit1.text,EmptyParam,EmptyParam,
EmptyParam,EmptyParam);虽然长一点,但比每次都定义变量方便得多。当然,
也可以使用第一种方式。
webbrowser1.Navigate(edit1.text)