Muito obrigado Eduardo,

Consegui descobrir o problema era o seguinte.
Na uses declarei ActiveX;
Na inicialização: CoInitialize(nil);
Na finalização: CoUnInitialize;

Quanto a debugar um serviço tem como fazer, basta inicializar o serviço, 
colocar o destino do Output directory o mesmo de onde o serviço está instalado. 
Feito isso ir ao menu RUN -> ATTACH PROCESS, selecionar o serviço e pressionar 
attach, depois F9. 
O problema é que até ter feito tudo isso muitas vezes o processo já passou o 
ponto que a gente quer debugar. Para driblar este problema colocar na 
inicialização do Serviço um Sleep(30000) que da tempo para debugar, feito isso 
é tudo igual a um aplicativo.

--- Em delphi-br@yahoogrupos.com.br, Eduardo <ecastroa_...@...> escreveu
>
> Serviço nao e facil de tao chato que e !!!
> 
> Seguinte, voce nao pode usar apelidos de enderecos, por exemplo:
> 
> arquivo.txt
> 
> Voce deve passar um caminho completo:
> 
> C:\Arquivo de Programas\Software\Aplicativo\arquivo.txt
> 
> Esta e uma das encrencas o resto e a mesma coisa.
> 
> Uma dica e criar um arquivo e ir gravando linha a linha o valor de suas 
> variaveis, ja que nao tem como debugar !!!
> 
> Eduardo
> Ps: Nao achei o driver do meu teclado e estou sem acentuacao.
> 
> wandarlei escreveu:
> >  
> >
> >
> > Boa tarde pessoal,
> >
> > Tenho um software na versão Serviço e Aplicativo, sendo que as
> > funções de acesso a banco eu uso a mesma classe para os dois. O
> > método de conexão usado sempre foi o BDE, contudo não funciona
> > para as versão do Sistema operacional de 64 bits.
> >
> > Criei uma opção de configuração para usar BDE ou ADO.
> >
> > Quando estou rodando como Aplicativo funciona tudo certo, porém
> > quando rodo como Serviço não funciona, o método de conexão
> > que estou usando é o seguinte:
> >
> > XPassword := 'Password=' + SENHA;
> >
> > XPersistSecurityInfo := 'Persist Security Info=True';
> >
> > XUserID := 'User ID=' + USER;
> >
> > XDataSource := 'Data Source=' + NomeDoServidor;
> >
> > ADOConexao := TADOConnection.Create(Nil);
> >
> > ADOConexao.LoginPrompt := False;
> >
> > ADOConexao.KeepConnection := True;
> >
> > ADOConexao.ConnectionTimeout := 30;
> >
> > ADOConexao.CommandTimeout := 30;
> >
> > ADOConexao.ConnectionString
> > :=Provider+';'+XPassword+';'+XPersistSecurityInfo+';'+XUserID+';'+XIniti\
> > alCatalog+';'+XDataSource;
> >
> > Nos eventos do Windows o erro é o seguinte: "Não é
> > possível localizar a descrição da Identificação de Evento 0 na
> > origem "CollectorServer". O componente que gera esse evento não
> > está instalado no computador local ou a instalação está
> > danificada. Você pode instalar ou reparar o componente no computador
> > local.
> >
> > Se o evento foi originado em outro computador, as informações de
> > exibição tiveram que ser salvas com o evento.
> >
> > As seguintes informações foram incluídas com o evento:
> >
> > Erro ao executar serviço C3Server. Mensagem original: CoInitialize
> > não foi chamado"
> >
> > Se alguém tiver alguma pista fico agradecido.
> >
> > Wandarlei Michelon
> >
> > Analista/programador Delphi
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
>


Responder a