我copy了一段程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var
  wordapp:Twordapplication;
  worddoc,Dotfile,Docfile:oleVariant;
  Doc:olevariant;
begin
  wordapp:=Twordapplication.Create(nil);
  wordapp.Visible :=false;
  dotfile:=EmptyParam;
  docfile:=false;
  worddoc:=wordapp.Documents.Add(Dotfile,Docfile);//这里无法编译error:Not enouge actual paramiters
end;
希望各位大侠帮帮忙

解决方案 »

  1.   

    Not enouge actual paramiters ;告诉你了,是参数不够,你缺东西
      

  2.   

    你肯定是这句wordapp.Documents.Add(Dotfile,Docfile);出的问题吗
      

  3.   

    当然!程序编译不过去,Delphi错误提示的只有一个,就是它
      

  4.   

    是不是office控件的版本不同,它们的参数个数有所不同了?
      

  5.   

    不是吧,我copy的原版程序,他的也是wordxp,我的也是,而且,我已经uses wordxp,comobj;了
      

  6.   

    你是说控件的版本?控件不是Delphi自带的吗?同一Delphi版本的控件版本不一样吗?
      

  7.   

    是你机器上的office版本与你所用接口不一致
      

  8.   

    貌似word97和word2000这两个Delphi里的模板用的参数不同
    Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam);
    记得2000和xp 是四个参数
      

  9.   

    按 Ctrl + Shift + 空格 会提示你有几个参数
      

  10.   

    回复dbmh:接口与word版本一样,都是wordxp
      

  11.   

    回复xiaocongzhi: 没错,我的就是在后面啊
      

  12.   

    可以,把参数补全了就可以,这我知道。或许我有点钻牛角尖,我就是想知道,为什么省略就不可以?是Delphi不允许省略参数吗?还是我哪里出错了
      

  13.   

    delphi允许省略参数的前提是函数原型设置了缺省参数,具体到wordxp就是在声明单元中声明了几个设置了不同缺省参数个数的重载函数,看看你引用的wordxp中声明的函数原型都可以缺省那些参数吧!