我做了一个嵌入到WEB中的ACTIVEFORM,之中只有一个按钮,点击这个按钮弹出一个FORM
在这个FORM中创建WORD并嵌入一个panel中,点击按钮运行前8次都正常,但是到第九次以后就会出错,WORD可以创建但是不能打开文档。
错误信息是:
access violation at address 006D6574.read of address 006D6574.
但是刷新一下WEB页面,就又正常了
代码如下:
 if FindWindow('OpusApp', nil)<>0 then
  BEGIN
  cfg.MessageDlg('word 正在使用,系统将关闭它!', mtinformation, [mbok], 0);
  SendMessage(FindWindow('OpusApp', nil), WM_CLOSE, 0, 0);
  END;
  try
    myapp := CreateOleObject('word.application');
  except
    cfg.MessageDlg('创建WORD对象失败!您可能未安装WORD或安装已损坏!', mtinformation, [mbok], 0);
    Application.Terminate;
  end;
    myapp.Visible := true;------------------
 try
    WDHD := FindWindow('OpusApp', nil); ////查找该对象句柄
  except
    cfg.MessageDlg('初始化WORD失败!', mtinformation, [mbok], 0);
    Application.Terminate;
  end;
  if wdhd<>0 then
   begin
  try
    Windows.SetParent(WDHD, Self.Panel1.Handle); //将对象内嵌到panel中
  except
    cfg.MessageDlg('嵌入WORD失败!', mtinformation, [mbok], 0);
    Application.Terminate;
  end;
  end
  else
  begin
  cfg.MessageDlg('嵌入WORD失败!', mtinformation, [mbok], 0);
  Application.Terminate;
  end;
-------------------------
try
        doc := myapp.documents.open(tempdir + 'temp.doc',False,False,False,'','',False,'','',0);
      except
        cfg.MessageDlg('打开文档失败!', mtinformation, [mbok], 0);
        docstate := False;
        exit;
        Self.Close;
不知那位前辈遇到过这种情况。请赐教