ole

procedure TForm1.Button1Click(Sender: TObject);
var
word:variant;
begin
  if checkbox1.Checked then
    begin
     word:=createoleobject('word.application');
     word.documents.add();
     word.visible:=true;
    end;
     word.selection.typetext(text:='kdjfkk');
end;
为什么第二次即checkbox1.checked:=false 时  不能继续导入数据?
 提示说第二次不能正确连接

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    更改代码
    var
    word:variant;
    begin
         word:=createoleobject('word.application');//因为你的word是个局部对象,每次点击都要创建一个:)
      if checkbox1.Checked then
        begin
         word.documents.add();
         word.visible:=true;
        end;
         word.selection.typetext(text:='kdjfkk');
    end;最好在代码最后加上word.free,及时释放对象
      

  2.   

    我明白了

    var
    word:variant;
    不要定义在这个事件内部把
    var
    word:variant;
    放到窗体的public/private的变量定义区:)))))这回应该没有问题了
      

  3.   

    放到窗体的public/private的变量定义区
    不要再用var了