GARANTIR DESCONTO

Fórum O servidor de RPC não está disponível #244792

28/07/2004

0

Olá,
Estou tendo um pequeno problema.

Eu adicionei os componentes:
- TWordApplication (1 componente),
- TButton (2 componentes)

No evento do TButton1 eu coloquei o seguinte código:
procedure TForm1.Button1Click(Sender: TObject);
var
 NomeModelo : OleVariant;
begin
 NomeModelo := ´normal.dot´;
 WordApplication1.Connect;
 WordApplication1.Documents.Add(NomeModelo,EmptyParam);
 WordApplication1.Visible := True;
end;


No evento do TButton2 eu coloquei o seguinte código:
procedure TForm1.Button2Click(Sender: TObject);
begin
 WordApplication1.Quit;
end;


Então...
- Quando eu clico no botão 1 ele chama o word.
- Quando eu clico no botão 2 ele fecha o word.
- Quando eu clico novamente no botão 1 aparece a tal mensagem abaixo citada
O servidor de RPC não está disponível


Como resolver este problema?
Será que está errado a maneira de chamar o word? Ou de fechar?

Utilizo:
Windows 98 SE
Delphi 5 Enterprise

Obrigado,


Mansur

Mansur

Responder

Posts

28/07/2004

Rômulo Barros

Fiz assim pelo delphi 7.0:

procedure TForm1.Button1Click(Sender: TObject);
var
NomeModelo : OleVariant;
begin
NomeModelo := ´normal.dot´;
WordApplication1.Connect;
WordApplication1.Documents.Add(NomeModelo,EmptyParam,EmptyParam,EmptyParam);
WordApplication1.Visible := True;


end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  WordApplication1.Documents.Close(EmptyParam,EmptyParam,EmptyParam);
end;

end.



Responder

Gostei + 0

28/07/2004

Mansur

Legal, funcionou.
Mas no Delphi 5 o word ainda ficou aberto!
Eu gostaria que ele fechasse.

Porque eu quero fazer o seguinte:
Quero criar o documento, salvar e fechar o word.
Só que o usuário não vai ver o word abrir pois eu não vou dar o comando
WordApplication1.Visible := True;

E se não fechar o word ele fica na memória, e eu não gostaria disto.
Será que existe uma possibilidade?

Obrigado


Responder

Gostei + 0

28/07/2004

Mansur

Descobri como!!!! :lol: :lol: :lol:

Seguinte:

Lembra do primeiro código
procedure TForm1.Button1Click(Sender: TObject);
var
 NomeModelo : OleVariant;
begin
 NomeModelo := ´normal.dot´;
 WordApplication1.Connect;
 WordApplication1.Documents.Add(NomeModelo,EmptyParam);
 WordApplication1.Visible := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 WordApplication1.Documents.Close(EmptyParam,EmptyParam,EmptyParam);
end;


Basta acrescentar estas duas linhas de comando antes do WordApplication.Connect;
 WordApplication1.Destroy;
 WordApplication1 := TWordApplication.Create(Self);

Valeu!!!! :lol: :lol: :lol:


Responder

Gostei + 0

28/07/2004

Mansur

Só troquei o comando do segundo botão.
Ai vai o certo!
procedure TForm1.Button2Click(Sender: TObject);
begin
 WordApplication1.Quit;
end;


Valeu!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar