Problemas com Windows 2003
Ola Galera,
estou com um problema no Windows 2003, fiz um programa e quando tento executa-lo no Windows 2003 o programa não abre. O programa foi feito no Delphi 7 Windows 98. Alguem sabe como resolver este problema :?:
T+
estou com um problema no Windows 2003, fiz um programa e quando tento executa-lo no Windows 2003 o programa não abre. O programa foi feito no Delphi 7 Windows 98. Alguem sabe como resolver este problema :?:
T+
Wcsilva
Curtidas 0
Respostas
Andremuller
24/08/2005
Olá colega.
Pesquisando pela solução no fórum achei seu tópico. Estou passando pelo mesmo problema.
No Windows 2003 server a aplicação entra no Task Manager mas cai fora sem dar nenhuma mensagem de erro. A tela inicial nem pisca.
Em outros sistemas operacionais isso não acontece.
Olhando nos eventos do ´Computer Manager´ (dentro de administrative tools) só aparece que:
Faulting application MinhaAplicacao.exe, version 0.0.0.0, faulting module kernel32.22, version 5.2.3790.0, fault address 0x000249d3
Você conseguiu resolver isso ou alguém sabe.
desde já obrigado
Pesquisando pela solução no fórum achei seu tópico. Estou passando pelo mesmo problema.
No Windows 2003 server a aplicação entra no Task Manager mas cai fora sem dar nenhuma mensagem de erro. A tela inicial nem pisca.
Em outros sistemas operacionais isso não acontece.
Olhando nos eventos do ´Computer Manager´ (dentro de administrative tools) só aparece que:
Faulting application MinhaAplicacao.exe, version 0.0.0.0, faulting module kernel32.22, version 5.2.3790.0, fault address 0x000249d3
Você conseguiu resolver isso ou alguém sabe.
desde já obrigado
GOSTEI 0
Andremuller
24/08/2005
Olá pessoal. Segue a resposta.
Isso acontece quando o erro da aplicação ocorre entre o Application.Initialize e o Application.Run
Isso faz com que o 2003 encerre a aplicação sem exibir a mensagem de erro.
Como eu fiz para ver a mensagem.
Eu coloquei toda inicialização da aplicação dentro de uma procedure no fonte do projeto. Então fica algo parecido com:
agora eu vejo qual erro está dando problema no 2003 dentro do arquivo gerado.
Isso acontece quando o erro da aplicação ocorre entre o Application.Initialize e o Application.Run
Isso faz com que o 2003 encerre a aplicação sem exibir a mensagem de erro.
Como eu fiz para ver a mensagem.
Eu coloquei toda inicialização da aplicação dentro de uma procedure no fonte do projeto. Então fica algo parecido com:
If ParamStr(2) <> ´-TryEx´ then begin ExecutarAplicacao(); else try ExecutarAplicacao(); except on E: Exception do SalvaStringToFile(E.Message); end;
agora eu vejo qual erro está dando problema no 2003 dentro do arquivo gerado.
GOSTEI 0
Daykas
24/08/2005
A solução é a seguinte: clique em meu computador e depois em propriedades. vá na opção avançado e depois em configurações (desempenho). clique na aba prevenção e execução de dados e depois em adicionar. aponte para o executável do seu sistema.
só isso.
só isso.
GOSTEI 0
Andremuller
24/08/2005
Na verdade o meu problema era um erro na inicialização de uma classe que lia uma data em formato brasileiro (dd/mm/yyyy) e o servidor está em inglês (mm/dd/yyyy) gerando um erro de data inválida.
Mas como é windows 2003 o erro não era exibido em nenhuma mensagem. Com o código postato em meu reply anterior eu consegui ler o erro e corrigir o problema.
O maior problema é que, se tu não sabe dessa peculiaridade do 2003, tu fica preso com um sistema que simplismente não carrega sem exibir mensagens.
Mas obrigado pela dica, se acontecer denovo, sem a aplicação gerar erros entre o Initialization e o Run, vou usar a sua dica.
Mas como é windows 2003 o erro não era exibido em nenhuma mensagem. Com o código postato em meu reply anterior eu consegui ler o erro e corrigir o problema.
O maior problema é que, se tu não sabe dessa peculiaridade do 2003, tu fica preso com um sistema que simplismente não carrega sem exibir mensagens.
Mas obrigado pela dica, se acontecer denovo, sem a aplicação gerar erros entre o Initialization e o Run, vou usar a sua dica.
GOSTEI 0
Helio Nascimento
24/08/2005
wcsilva
Revivi este tópico porque estou com o mesmo problema. Um sistema que roda a + de 3 anos em windows xp, e agora em um novo cliente que possui o windosw server 2003 como servidor, não roda e não dá mensagem.
Qual foi a sua solução para este caso?
Fico no aguardo.
Obrigado/Hélio
Revivi este tópico porque estou com o mesmo problema. Um sistema que roda a + de 3 anos em windows xp, e agora em um novo cliente que possui o windosw server 2003 como servidor, não roda e não dá mensagem.
Qual foi a sua solução para este caso?
Fico no aguardo.
Obrigado/Hélio
GOSTEI 0
Andremuller
24/08/2005
Olá Hélio.
Se você olhar o wcsilva criou o tópico em 2005. Eu, como tinha o mesmo problema, aproveitei o tópico em 2008 e resolvi o problema.
Dê uma olhada no meu post
Perdi alguns dias para resolver o problema.
Se você não entender o código que eu criei posso te passar mais detalhes, mas basicamente eu pego a exceção entre o Application.Initialize e o Application.Run e salvo em um arquivo já que a aplicação não mostra a mensagem.
Se você olhar o wcsilva criou o tópico em 2005. Eu, como tinha o mesmo problema, aproveitei o tópico em 2008 e resolvi o problema.
Dê uma olhada no meu post
Isso acontece quando o erro da aplicação ocorre entre o Application.Initialize e o Application.Run
Isso faz com que o 2003 encerre a aplicação sem exibir a mensagem de erro.
Perdi alguns dias para resolver o problema.
Se você não entender o código que eu criei posso te passar mais detalhes, mas basicamente eu pego a exceção entre o Application.Initialize e o Application.Run e salvo em um arquivo já que a aplicação não mostra a mensagem.
GOSTEI 0
Helio Nascimento
24/08/2005
andremuller
Se vc puder me enviar o trecho destas procedures do seu sistema, ficará bem melhor pois a outra funçao(SalvaStringToFile) não é mencionada os detalhes. Ficaria imensamente grato, pois estou tentando resolver = a maluco.
Aproveito a oportunidade para pedir-lhe informações sobre componentes de terceiros tais como JVCL e RX Lib - Eu uso em alguns forms.
Obrigadão.\Hélio
Se vc puder me enviar o trecho destas procedures do seu sistema, ficará bem melhor pois a outra funçao(SalvaStringToFile) não é mencionada os detalhes. Ficaria imensamente grato, pois estou tentando resolver = a maluco.
Aproveito a oportunidade para pedir-lhe informações sobre componentes de terceiros tais como JVCL e RX Lib - Eu uso em alguns forms.
Obrigadão.\Hélio
GOSTEI 0
Andremuller
24/08/2005
Olá Hélio.
Criei uma aplicação nova com a ideia que falo. De você gerar a exceção entre o Initialize e o Run em arquivo.
A única coisa que você precisa fazer é abrir o fonte do seu DPR, colocar todo código entre um Try Except e salvar o resultado da exceção em arquivo.
Assim você vai conseguir ver no arquivo a Exceção que o Win2003 está gerando, mas não está mostrando para você. Então você resolve o problema e pode tirar o tratamento de exceção.
Criei uma aplicação nova com a ideia que falo. De você gerar a exceção entre o Initialize e o Run em arquivo.
A única coisa que você precisa fazer é abrir o fonte do seu DPR, colocar todo código entre um Try Except e salvar o resultado da exceção em arquivo.
Assim você vai conseguir ver no arquivo a Exceção que o Win2003 está gerando, mas não está mostrando para você. Então você resolve o problema e pode tirar o tratamento de exceção.
program Project1;
uses
Forms,
Classes,
SysUtils,
Unit1 in ´Unit1.pas´ ;
{$R *.res}
var
oSl: TStringList;
begin
try
Application.Initialize;
Application.CreateForm(TForm1, Form1);
raise Exception.Create(´Exemplo de uma mensagem de erro.´);
Application.Run;
except
on E: Exception do
begin
oSl := TStringList.Create();
try
oSl.Text := E.Message;
oSl.SaveToFile(´C:\LogErro.txt´);
finally
oSl.Free();
end;
end;
end;
end.GOSTEI 0
Helio Nascimento
24/08/2005
andremuller
Andre. Não funfou. Coloquei o trecho como vc disse e não deu certo.
O Arquivo ´C:\LogErro.Txt´, não foi localizado no C:\ do Windows Server 2003. Estou acessando com permissão total.
Será que tenho que registrar as DLL´s ? - Tem alguma a ver - Eu instalei manualmente. Não utilizei instalador tipo Install Shield.
Continua sendo acessado e silenciosamente sai sem msg. - Se vc acompanhar pelo Task Mananger - vc visualiza a hora que o executável
entra fica alguns segundos e depois sai.
Andre. Não funfou. Coloquei o trecho como vc disse e não deu certo.
O Arquivo ´C:\LogErro.Txt´, não foi localizado no C:\ do Windows Server 2003. Estou acessando com permissão total.
Será que tenho que registrar as DLL´s ? - Tem alguma a ver - Eu instalei manualmente. Não utilizei instalador tipo Install Shield.
Continua sendo acessado e silenciosamente sai sem msg. - Se vc acompanhar pelo Task Mananger - vc visualiza a hora que o executável
entra fica alguns segundos e depois sai.
GOSTEI 0
Andremuller
24/08/2005
Eu diria para você testar com uma aplicação vazia, como a que eu fiz, somente para ver se ele está gerando o arquivo com o texto da exceção que é disparado no Raise.
GOSTEI 0