Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jtftelles

Minha aplicação não roda em outro computador

Recommended Posts

galera é o seguinte, fiz um programa em delphi q utiliza um banco de dados access, com login e tudo mais. No meu pc ele funciona perfeitamente só que quando vou roda-lo em outra máquina ele da operação ilegal e o programa não roda!!!!!. Será q é algum DLL do sistema que preciso instalar junto com ele?, se souberem me ajudem! obrigado galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende... qual a paleta de componentes que esta usando ? É exibida alguma mensagem a mais de erro ? No caso como faz para acessar o banco de dados ? Usa um arquivo de configuração para expecificar o local ou acessa em um local fixo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou usando a pelta ADO para conectar ao banco de dados do access, é um banco de dados local e eu não uso senha para acessa-lo, ele acessa normalmente eu meu pc, quando tento rodar o programa em outra máquina ele da erro de "Esse programa executou uma operação ilegal e terá de ser fechado" sendo que meu banco de dados está na pasta certinho da mesma forma que funcionava no meu pc! não consigo entender pq não funciona!. O programa só chega a abrir a splash screen e já da o erro!, normalmente ele funcionaria assim SPLASH SCREEN -> SENHA PARA ACESSAR O FORM -> ABRIR O PROGRAMA.será alguma dll que preciso distribuir junto com ele?obrigado a qualquer esclarecimento!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já aconteceu isso comigo... eu tinha esquecido de criar o alias no pc em que eu coloquei o programa, depois que criei não deu mais esse erro. Não sei se este é o seu caso :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

como assim criar alias no pc? explica melhor pra mim o erro que aconteceu com você!. Instaum, o negócio é o seguinte, levei o código fonte do programa e compilei ele no outro pc e ele funciona, mas ele só funciona nas máquinas em q eu compilo ele, como pode?? quero resolver esse problema!!! se alguém tiver alguma ideia posta ae!flwsss

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai meu amigo. Seguinte vocë nao precisa de alias, pq na verdade utiliza ADO, o alias você utilizaria para setar onde esta o bd, mas o ado faz isso por si só. Na verdade quando vocë utiliza ado precisa ter algum mecanismo para direcionar o banco de dados. Vocë deve ter no pc que esta dando erro exatamente o mesmo endereço de onde estava o bando de dados onde rodou o programa pela ultima vez, pq ele deverá ficar direcionado assim. Se fizer tudo isso e continuar com o erro, na verdade poderá ser realmente alguma dll.Qual sistema operacional que esta dando o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ae colegas!o sistema operacional q estou rodando o programa é o win xp professional com sp2 e o provedor OLEDB q estou usando é o microsoft jet. OLEDB 4.0. meu ConnectionString está assim:Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\academia\clientes.mdb;Mode=ReadWrite;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=Falsena minha máquina o programa está rodando em C:\ACADEMIA\aplicação e banco de dados, e nas máquinas onde tento rodar tb estou rodando eles na mesma pasta, então não pode ser erro de caminho do banco de dados, e mesmo se fosse ele daria um erro dizendo q não encontrou clientes.mdbnão sei se preciso de alguma atualização pras outras máquinas, pq meu windows não é atualizado constantemente. se algúem souber de mais alguma coisa postem ae, to encucado com isso!se ajudar em algo, quando ele da erro de operação ilegal ele aponta o kernel32.dllvalew galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja fiz algumas aplicações com access e na verdade não é necessário te-lo nem a mesmo instalado, portanto imagino que a versão não deve influenciar. Mas não custa testar. Falei sobre a versão do windows pq quando é win98 geralmente quando não acha o caminho do banco ele da este tipo de erro. Ja no caso do Xp, quando falta uma dll ou bpl ele geralmente diz qual esta faltado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera consegui ver a mensagem de erro!, instalei o delphi na máquina q não funcionava o programa e tentei compilar o programa pela máquina e o programa não executava e dava a seguinte mensagem de erro:"EOleSysError O Co-Initialize não pode ser inicializado."agora só me resta descobrir o que é isso!! preciso da ajuda de vcs!, bom eu tentei achar algo no help do delphi mas não entendi mt bem!, conto com vcs!!vlwsss

Compartilhar este post


Link para o post
Compartilhar em outros sites

A mensagem de erro indica que é um erro de OLE, uma API do windows, o que está acontecendo é o seguinte você está fazendo chamada a alguma função do windows que não está disponível, por exemplo, você não tem o OFFICE instalado na máquina e está tentando abrir um arquivo .doc pelo código.Tenta isto, verifica se muda alguma coisa. uses ActiveX, // inclui esta unit ...initialization CoInitialize(nil); finalization CoUnInitialize; end.Faz por exemplo na unit onde estão os teus componentes ADO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui resolver o problema!!li num forum britanico da borland que a paleta ADO utiliza objetos COM e necessáriamente eles iniciam antes da aplicação, já saquei o problema na hora pq eu lembro q tinha retirado a linha application.inicialize do meu projeto por causa do slpash screen ai eu coloquei a linha e rodou normal em outras máquinas!.Galera obrigado pela atenção de vcs!!, estamos ai pra perguntar td e se possivel responder tb!! vivendo e aprendendo hehehe teh mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui resolver o problema!!li num forum britanico da borland que a paleta ADO utiliza objetos COM e necessáriamente eles iniciam antes da aplicação, já saquei o problema na hora pq eu lembro q tinha retirado a linha application.inicialize do meu projeto por causa do slpash screen ai eu coloquei a linha e rodou normal em outras máquinas!.Galera obrigado pela atenção de vcs!!, estamos ai pra perguntar td e se possivel responder tb!! vivendo e aprendendo hehehe teh mais!

Só queria entender uma coisinha? era realmente necessário tirar o Application.Initialize?Porque você tirou ele?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade não era necessário cara, mas na hora eu achei q fosse e como no meu pc tava funcionando ok eu nem me toquei, mas com application.inicialize funciona normal!teh mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.