Erro do windows ?

Delphi

19/06/2007

Desenvolvi em sistema com Delphi 7 e Firebird 1.5, compilado em uma máquina com WinXP Professional (Athlon 64) e estou tento um problema ao rodar esse programa. Em algumas máquinas o programa funciona corretamente, em outras, ao ser iniciado, é exibida uma mensagem do Windows ´Esse programa executou uma operação ilegal e será finalizado´. Então é preciso ir nas propriedades do arquivo executável, na aba compatibilidade e marcar o checkbox ´Executar este programa em modo de compatibilidade:´ com Windows 95 ou 98. Até aí tudo bem, mas em outras máquinas mesmo fazendo o procedimento acima o programa continua exibindo a mensagem de erro do Windows.
Há alguma configuração na IDE do Delphi para corrigir esse problema ?


Lab

Lab

Curtidas 0

Respostas

L_carlos

L_carlos

19/06/2007

Olá Lab,

Nessas maquinas que aparece a mensagem de erro, qual a versão do WINDOWS instalada? Todas que apresemtam o erro tem o WINDOWS 95/98 rodando?

Luiz


GOSTEI 0
Nightshade

Nightshade

19/06/2007

tenta rodar ele em outro diretorio da tua makina, desabilitando o anterior e mudando a base de dados de local, derrepente tu compilo no sistema o patch de ligação com o banco..
ou verifique se ta rodando o firebird na makina q tu ta instalando, geralmente quando ele mostra esta mensagem eh pq ele nao encontro o banco..
na instalaçao tu mando ele copiar a dll gdb.dll pra pasta do sistema?
faz isto tmbm.. so pra teste
flw


GOSTEI 0
Lab

Lab

19/06/2007

O SO das máquinas que rodam o sistema são WinXP, algumas com processador 64 ou 32 bits (semprom e celeron).
Não é problema com o caminho do banco de dados e nem com o Firebird, já verifiquei isso. Também desenvolvi um programa para backup que não acessa base nenhuma quando é executado, e ocorre o mesmo problema.
Compilei o sistema em um micro com Win98 e testei nas máquinas, entretanto, o problema persiste.
O curioso nisso é o fato de que em algumas máquinas o sistema inicia normalmente.
O problema ocorre sempre quando o programa é iniciado, ou seja, quando vc dá dois cliques no arquivo executável.
Será que esse tipo de problema tem alguma coisa haver com a arquitetura do micro em que foi compilado e do micro que roda a aplicação ?
Existe alguma opção a ser alterada no Delphi antes de compilar o programa ?

Grato pela atenção

Luiz


GOSTEI 0
L_carlos

L_carlos

19/06/2007

Coloca aqui o codigo que vc usa qdo incia o seu programa.

Luiz


GOSTEI 0
Lab

Lab

19/06/2007

Abaixo está o código do programa de backup que também dá o mesmo erro, o do sistema tem muito código.

procedure TFormBackup.FormShow(Sender: TObject);
begin
   // obtém o path corrente
   Path_Atual := GetCurrentDir;

   if ParamCount > 0 then BdPath := ParamStr(1);

   // inclui o diretório do banco de dados se for especificado
   if BdPath <> ´´ then
      begin
         if copy(BdPath, length(BdPath), 1) = ´\´ then
            ListBoxArquivo.Items.Add(BdPath + ´*.*´)
         else
            ListBoxArquivo.Items.Add(BdPath + ´\*.*´);
      end;

   DirEditPath.InitialDir := ExtractFilePath(Application.ExeName);
   OpenDialog.InitialDir  := ExtractFilePath(Application.ExeName);
   SaveDialog.InitialDir  := ExtractFilePath(Application.ExeName);

   ZipMaster1.DLLDirectory := ExtractFilePath(Application.ExeName);
   ZipMaster1.Load_Zip_Dll;
   ZipMaster1.Load_Unz_Dll;

   SortGrid1.Cells[0,0] := ´Nome´;
   SortGrid1.Cells[1,0] := ´Data´;
   SortGrid1.Cells[2,0] := ´Tamanho´;
   SortGrid1.Cells[3,0] := ´Taxa´;
   SortGrid1.Cells[4,0] := ´Comprimido´;
   SortGrid1.Cells[5,0] := ´Path´;

   Progresso.Progress := 0;
   Progresso.Visible := false;
   lblArquivo.Caption := ´´;
end;

[/code]


GOSTEI 0
L_carlos

L_carlos

19/06/2007

O problema pode estar na dll (zipmaster) que vc usa. Tenta fazer o backup sem usar a dll para ver se resolve.

Luiz


GOSTEI 0
POSTAR