Colegas, O PROGRAMA: Utilizo o word para geração de relatórios, pois acho que fica mais fácil para o usuário alterar, se trata vários modelos de contratos que são abertos, alterados algumas palavras, impresso e "salvado como". Para fazer isso utilizo uma thred pois este processo é demorado e se não fosse assim trava o sistema até o processo ser finalizado. Segue abaixo assinatura da minha thred:
unit UTGerarArquivo; interface uses SysUtils, Variants, Classes, Forms, Dialogs, ComObj, ESPFuncoes; type TGeraArquivo = class(TThread) constructor Create; procedure Execute; override; procedure CriarContrato(); procedure AbrirModeloWord(tipoBolsa : string); procedure CriarDocWord(); procedure SubstituiCampos(Arquivo : Variant); procedure Salvar(); procedure Imprimir(); end; implementation Uses UGerarContrato; var //Variáveis relacionadas ao documento Word WinWord, Docs, Doc: Variant; objWordCriados : Boolean; caminhoArq, nomeArq: string; { TGeraArquivo } Utilizo minha thred assim: procedure TFrmGerarContrato.bbtGeraClick(Sender: Object); var ListaArqWord : Array of TGeraArquivo; begin //imprimir contrato corrente SetLength(ListaArqWord, nArqWord); ListaArqWord[nArqWord-1] := TGeraArquivo.Create; Inc(nArqWord); end; O PROBLEMA: Desta forma achei que poderia criar e imprimir vários contratos sem esperar um fim do processamento de cada um. Mas quando mando imprimir um arquivo e logo em seguida mando outro só é impresso o último ou seja antes do primeiro ser impresso o processo seguinte já alterou o modelo e ai saí repetido alem disso consome muita memória pois para cada chamada da thred fica é criado um processo WINWORD. Alguem tem uma idéia como posso alterar/melhorar o procedimento acima? OBS: Desculpem o destamento, só queria que fosse entendido. Desde já agradeço, Edmilson Pontes _______________________________________________________ Novo Yahoo! Messenger com voz: ligações, Yahoo! Avatars, novos emoticons e muito mais. Instale agora! www.yahoo.com.br/messenger/ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html