Rave reports fechando o aplicativo

Delphi

27/12/2007

quem ja viu o Rave reports fechar o aplicativo ao tentar dar um Preview?


Mahdak

Mahdak

Curtidas 0

Respostas

Mahdak

Mahdak

27/12/2007

desisti de tentar encontrar a solução....
fiz os relatórios no word mesmo... só que pintou um probleminha
gera o erro quando o aplicativo vai ler a linha abaixo:

Doc.Selection.MoveRight(12);
erro: ´Method ´Selection´ not supported by automation object´

por via das duvidas vou postar aqui o metodo de acesso ao word.
a idéia é que eu tenho uma tabela com varios dados entao no laço while abaixo eu vou até a variavel da primeira coluna da tabela que quero começar a inserir os dados e dali em diante eu vou pulando de celula em celula e inserindo os dados.

se alguem puder me dar uma mão fico muito agradecido..

var
Doc,Docs,WinWord: Variant;
arquivo,DocGerado : String;
begin
    // Pega o nome do arquivo...
  arquivo := ExtractFilePath(Application.ExeName) + ´Laudo.doc´;


  try
    WinWord := CreateOleObject(´Word.Application´);
  except
    raise Exception.Create(´Não foi possível iniciar o MS Word!´);
  end;


    WinWord.Visible := false;     //Não Mostra o Word
    Docs := WinWord.Documents;    // Pega uma interface para o objeto que manipula documentos
    Doc := Docs.Open(arquivo);    // Abre um Documento

    //Capa
    Doc.Content.Find.Execute(FindText := ´@NumeroLaudo´, ReplaceWith := cdsAmostraNumeroLaudo.AsString);
    Doc.Content.Find.Execute(FindText := ´@Amostra´, ReplaceWith := cdsAmostraAmostra.AsString);
    Doc.Content.Find.Execute(FindText := ´@Classe´, ReplaceWith := cdsClassificacaoClasse.AsString);


frmClass3RRes.cdsTox.First;
    while not frmClass3RRes.cdsTox.Eof do
    begin

      if frmClass3RRes.cdsToxParametro.AsString = ´´ then
      begin
        Doc.Content.Find.Execute(FindText := ´@PLix´, ReplaceWith := ´´);
        Doc.Selection.MoveRight(12);
      end
        else
          begin
            Doc.Content.Find.Execute(FindText := ´@PLix´, ReplaceWith := frmClass3RRes.cdsToxParametro.AsString);
            Doc.Selection.MoveRight(12);
          end;

      if frmClass3RRes.cdsToxResultado.AsString = ´´ then
      begin
        Doc.Selection.TypeText(Text := ´´);
        Doc.Selection.MoveRight(12);

      end
        else
          begin
            Doc.Selection.TypeText(Text := frmClass3RRes.cdsToxResultado.AsString);
            Doc.Selection.MoveRight(12);

          end;
end;
.
.
.
WinWord.Quit; // Fecha o Word
end;



abraços a todos[/b]


GOSTEI 0
POSTAR