Aplicativo copilado nao roda dar erro.
Ola, galera!
Sou novo por aqui e não detenho muito conhecimento em delphi 7 comecei a programa há duas semanas. Desde então fiquei impressionado com tamanho poder de criação. Vamos agora para a minha cruel duvida. Fiz um programa usando o BDE = alias, depois usei o DB e criei o paradox. Desemvolvei um sistema tipo cadastro: cliente, vendedores,consulta de vend, cons. de client e uma tela sobre. Tudo funcionando certinho, entretando eu copilo o programa gera um exe, só que eu clico nele funciona numa boa, mas quando eu levo para outra maquina da erro e nem se quer abre o menu so fica no erro.
Obs. Não tenho conhecimento assim como todos vocês deteem, mas tenho uma força de vontade enorme. Nao sei se pode postar email aqui, caso não possa pesso desculpa! O meu email é netwollf@hotmail.com vou add a todos que queriam compartilhar os conhecimentos. Apenas envie sou estudande de deplhi
Sou novo por aqui e não detenho muito conhecimento em delphi 7 comecei a programa há duas semanas. Desde então fiquei impressionado com tamanho poder de criação. Vamos agora para a minha cruel duvida. Fiz um programa usando o BDE = alias, depois usei o DB e criei o paradox. Desemvolvei um sistema tipo cadastro: cliente, vendedores,consulta de vend, cons. de client e uma tela sobre. Tudo funcionando certinho, entretando eu copilo o programa gera um exe, só que eu clico nele funciona numa boa, mas quando eu levo para outra maquina da erro e nem se quer abre o menu so fica no erro.
Obs. Não tenho conhecimento assim como todos vocês deteem, mas tenho uma força de vontade enorme. Nao sei se pode postar email aqui, caso não possa pesso desculpa! O meu email é netwollf@hotmail.com vou add a todos que queriam compartilhar os conhecimentos. Apenas envie sou estudande de deplhi
Renato
Curtidas 0
Respostas
Douglas Maicon
26/08/2010
Vc esta levando para a outra maquina o banco junto com o executavel?
GOSTEI 0
Renato
26/08/2010
Vc esta levando para a outra maquina o banco junto com o executavel?
Seria nesse caso o tbl o que foi criando com o DBE e as tbl. tipo cliente vendedores e outros. Vai me desculpando ai é que eu estou estudando ainda e pior sozinho. Me add no msn netwollf@hotmail.com eu estou on no post e no msn
GOSTEI 0
Leonardo Xavier
26/08/2010
Cara você tem que instalar o driver do seu banco de Dados.
GOSTEI 0
Renato
26/08/2010
Cara você tem que instalar o driver do seu banco de Dados.
Nesse caso eu terei que instalar o DataBase que vem no delphi 7 em outra maquina, eu achei que o exe fizesse tudo só. Qual é o melhor banco de dados para ligarmos a um programa criado no delphi 7. Eu fiz assim criei um alias na minha unidade D:\ cadastro e logo em seguida usei o Data Base que vem com o próprio delphi 7 e crei a minha tabela. Muito obrigado por responder minha mensagem, Estou on no post e no msn se puder me add netwollf@hotmail.com
GOSTEI 0
Douglas Maicon
26/08/2010
olha, não sou muito fã de paradox, sem desmerecer esta ferramenta, por isso não sei te informar quais os arquivos voce deve copiar mas, existe uma opção trabalhar a hierarquia de seu projeto de forma que o executável fique em uma pasta "Bin" e o banco de dados em uma pasta "Bd" assim quando que vc for levar sua aplicação para outra maquina vc copia a pasta Bin e a pasta Bd e quando for atualizar a versão da aplicação copia somente o executável para dentro da pasta bin.
Vc pode definir onde compilar seu executável em:
Vc pode definir onde compilar seu executável em:
project > options > directories/conditionals
GOSTEI 0
Leonardo Xavier
26/08/2010
Tem o driver do interbase aqui. Testa e posta aqui se deu certo.
http://www.easysoft.com/products/data_access/odbc_interbase_driver/
GOSTEI 0
Renato
26/08/2010
Tem o driver do interbase aqui. Testa e posta aqui se deu certo.
http://www.easysoft.com/products/data_access/odbc_interbase_driver/
Todos vcs são de mais, ja vi que vou aprender muito com todos. Tenho uma vontade enorme de dominar essa ferramenta. O amigo a cima indicou um banco de dados, como vcs aparti de hoje estao me ajudando gostaria que me respondesse se o tal firebird e bom com o delphi 7, nao tenho conhecimento em firebird, mas se me disser que é bom corro atrás. Agora mesmo estou baixando o arquivo que vc postou. vou esta on
Quero aprender bastante hoje com vcs. Sou muito grato a isso. Vou terminar de baixar e da uma futucada no meu querido delphi 7. Ah! em um programa que eu fiz eu clico uma vez salva certinho e se eu clicar novamente sem alterar nada da erro. O que pode ser caros professores?
GOSTEI 0
Leonardo Xavier
26/08/2010
Olha esta questão do banco de dados eu ja corri muito atras deste assunto, e nas minhas conclusões (pode alguem não concordar comigo) não existe melhor banco de dados, existe aquele que vc gosta de trabalhar, claro que vc vai encontrar a questão de segurança, de um banco diferente de outro mas isso vc deve avaliar com muito cuidado, quando eu comecei com Delphi utilizava o banco Acsess da microsoft, mas por ser um banco pago não mexi mais com ele, estou utilizando hoje o mysql, que é muito bom e tem opções de segurança muito boas, a vantagem de se utilizar o acsess no inico é que ele fica em um único arquivo, com todas as suas tabelas.
GOSTEI 0
Renato
26/08/2010
Olha esta questão do banco de dados eu ja corri muito atras deste assunto, e nas minhas conclusões (pode alguem não concordar comigo) não existe melhor banco de dados, existe aquele que vc gosta de trabalhar, claro que vc vai encontrar a questão de segurança, de um banco diferente de outro mas isso vc deve avaliar com muito cuidado, quando eu comecei com Delphi utilizava o banco Acsess da microsoft, mas por ser um banco pago não mexi mais com ele, estou utilizando hoje o mysql, que é muito bom e tem opções de segurança muito boas, a vantagem de se utilizar o acsess no inico é que ele fica em um único arquivo, com todas as suas tabelas.
Certo! Caso no futuro poderia aproveitar esse banco mysql em uma pagina de internet. Esse banco de dados eu baixo onde? o pacatoao de delphi 7 que eu tenho tem varios bancos de dados como: DBE administraitor e la a vários como parodox e outros. poderia postar esse link ai do mysql.
Galera! Valeu mesmo pela ajuda e vou continuar a perguntar
GOSTEI 0
Eriley Barbosa
26/08/2010
Você tem que levar além do seu executável o instalador do bde, após instalar o bde, tem que copiar para a pasta do seu executável os arquivos da base de dados paradox que você criou :
cliente.db
cliente.PX
cliente.XG0
cliente.YG0
cliente.XG1
cliente.XG2 e depois entrar mo bde que você instalou e criar o seu alias novamente, apontando para a pasta onde estão estes arquivos.
cliente.XG0
cliente.YG0
cliente.XG1
cliente.XG2 e depois entrar mo bde que você instalou e criar o seu alias novamente, apontando para a pasta onde estão estes arquivos.
GOSTEI 0
Douglas Maicon
26/08/2010
Olha esta questão do banco de dados eu ja corri muito atras deste assunto, e nas minhas conclusões (pode alguem não concordar comigo) não existe melhor banco de dados, existe aquele que vc gosta de trabalhar, claro que vc vai encontrar a questão de segurança, de um banco diferente de outro mas isso vc deve avaliar com muito cuidado, quando eu comecei com Delphi utilizava o banco Acsess da microsoft, mas por ser um banco pago não mexi mais com ele, estou utilizando hoje o mysql, que é muito bom e tem opções de segurança muito boas, a vantagem de se utilizar o acsess no inico é que ele fica em um único arquivo, com todas as suas tabelas.
Concordo plenamente com vc... vc se adapta em um modo de trabalhar, embora seja difícil acho que o programador deve se esforçar ao máximo para ter conhecimento suficiente em diversos gerenciadores de dados, não dominar todos mas ter o mínimo de conhecimento possível pelo menos nos mais comuns. Também sou um iniciante, apesar de já conhecer as ferramentas há aproximadamente 3 anos, só estou trabalhando no ramo há 4 meses e gosto muito do firebird, pois ele me atende em todos meus requisitos, mas se um eu precisar ter conhecimentos em outra ferramenta como oracle por exemplo terei que me adequar... vale lembrar que a curiosidade é quem transforma o leigo em mestre
GOSTEI 0
Renato
26/08/2010
Você tem que levar além do seu executável o instalador do bde, após instalar o bde, tem que copiar para a pasta do seu executável os arquivos da base de dados paradox que você criou :
cliente.db
cliente.PX
cliente.XG0
cliente.YG0
cliente.XG1
cliente.XG2 e depois entrar mo bde que você instalou e criar o seu alias novamente, apontando para a pasta onde estão estes arquivos.
cliente.XG0
cliente.YG0
cliente.XG1
cliente.XG2 e depois entrar mo bde que você instalou e criar o seu alias novamente, apontando para a pasta onde estão estes arquivos.
Deu certo! mas o arquivo que o colega postou que é um drive eu baixei e instalei no pc que iria receber o soft e rodou belezinha. Era só um Drive mesmo. Testei esse método tambem deu certo.
Galera tudo o que vcs estao me ensinando agora esta firando uma apostila para eu estudar ainda mais.
GOSTEI 0
Renato
26/08/2010
Muito obrigado por todas as dicas a todos que me ajudaram. Ah! mas não acabou! Tenho outro problema que é simples para todos vcs, eu uso o comando: Datamodule1.tblclientes.Post; para gravar na tblclientes. Grava numa boa só que se eu clicar mais uma vez sem alterar nada da erro. Como eu posso na lógica nao muito complicada solucionar esse problema?
Grato a todos. Lembrando que eu quero aprender e hoje vou ficar o dia todo nesse poste.
Grato a todos. Lembrando que eu quero aprender e hoje vou ficar o dia todo nesse poste.
GOSTEI 0
Eriley Barbosa
26/08/2010
Eu comecei no delphi 3, com esta apostila abaixo, que me ajudou muito:
http://www.planetadelphi.com.br/download/4622/apostila/desvendando-o-caminho-das-pedras
GOSTEI 0
Eriley Barbosa
26/08/2010
if Datamodule1.tblclientes.state in [dsEdit, dsInsert] then
Datamodule1.tblclientes.Post;
GOSTEI 0
Renato
26/08/2010
procedure Tfrmclientes.Button1Click(Sender: TObject);
begin
if(Datamodule1.tblclientesRgcli.text ='') or (Datamodule1.tblclientesCpfcli.Text ='') then
begin
Showmessage('RG e CPF são campos obrigatório para salvar o Registro');
abort;
end
else
Datamodule1.tblclientes.Post;
end;
procedure Tfrmclientes.Button2Click(Sender: TObject);
begin
Datamodule1.tblclientes.Append;
tedit2.setfocus;
end;
procedure Tfrmclientes.Button3Click(Sender: TObject);
begin
Datamodule1.tblclientes.First;
if Datamodule1.tblclientes.Bof then
application.MessageBox('Início dos Registros','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button4Click(Sender: TObject);
begin
Datamodule1.tblclientes.Prior;
end;
procedure Tfrmclientes.Button5Click(Sender: TObject);
begin
Datamodule1.tblclientes.Next;
end;
procedure Tfrmclientes.Button6Click(Sender: TObject);
begin
Datamodule1.tblclientes.Last;
if Datamodule1.tblclientes.Eof then
application.MessageBox('Você esta no Último Registro','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button7Click(Sender: TObject);
begin
if application.MessageBox('Deseja realmente excluir o Registro','aviso', mb_yesno)<> mryes then
abort
else
Datamodule1.tblclientes.Delete;
end;
procedure Tfrmclientes.Button8Click(Sender: TObject);
begin
close;
end;
procedure Tfrmclientes.dbedit1KeyPress(Sender: TObject; var Key: Char);
begin
if not ((key in['0'..'9'])or(key in[#8])or (key in[#46]))then
key:=#0;
end;
end.
begin
if(Datamodule1.tblclientesRgcli.text ='') or (Datamodule1.tblclientesCpfcli.Text ='') then
begin
Showmessage('RG e CPF são campos obrigatório para salvar o Registro');
abort;
end
else
Datamodule1.tblclientes.Post;
end;
procedure Tfrmclientes.Button2Click(Sender: TObject);
begin
Datamodule1.tblclientes.Append;
tedit2.setfocus;
end;
procedure Tfrmclientes.Button3Click(Sender: TObject);
begin
Datamodule1.tblclientes.First;
if Datamodule1.tblclientes.Bof then
application.MessageBox('Início dos Registros','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button4Click(Sender: TObject);
begin
Datamodule1.tblclientes.Prior;
end;
procedure Tfrmclientes.Button5Click(Sender: TObject);
begin
Datamodule1.tblclientes.Next;
end;
procedure Tfrmclientes.Button6Click(Sender: TObject);
begin
Datamodule1.tblclientes.Last;
if Datamodule1.tblclientes.Eof then
application.MessageBox('Você esta no Último Registro','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button7Click(Sender: TObject);
begin
if application.MessageBox('Deseja realmente excluir o Registro','aviso', mb_yesno)<> mryes then
abort
else
Datamodule1.tblclientes.Delete;
end;
procedure Tfrmclientes.Button8Click(Sender: TObject);
begin
close;
end;
procedure Tfrmclientes.dbedit1KeyPress(Sender: TObject; var Key: Char);
begin
if not ((key in['0'..'9'])or(key in[#8])or (key in[#46]))then
key:=#0;
end;
end.
GOSTEI 0
Leonardo Xavier
26/08/2010
procedure Tfrmclientes.Button1Click(Sender: TObject);
begin
if(Datamodule1.tblclientesRgcli.text ='') or (Datamodule1.tblclientesCpfcli.Text ='') then
begin
Showmessage('RG e CPF são campos obrigatório para salvar o Registro');
abort;
end
else
Datamodule1.tblclientes.Post;
end;
faz assim:
procedure Tfrmclientes.Button1Click(Sender: TObject);
begin
if(Datamodule1.tblclientesRgcli.text ='') or (Datamodule1.tblclientesCpfcli.Text ='') then
begin
Showmessage('RG e CPF são campos obrigatório para salvar o Registro');
abort;
end
else
BUTTON1.ENABLED:=FALSE;
Datamodule1.tblclientes.Post;
end;E No botão referente ao insert do data set em questào você acrescenta o seguinte:
button1.enabled:=true;
GOSTEI 0
Renato
26/08/2010
Como ficaria esse codigo fonte se eu ja tenho um if la no topo validando o edit. Gostaria que salvasse e se por ventura clicar novamente dizer que ja foi salvo. No meu programa da erro antes mesmo de da a informação que o documento foi salvo isso é claro se eu tentar salvar duas vezes. Lembrado que esse erro só acontece quando tento salvar. Vou ler o seu post agora.
GOSTEI 0
Leonardo Xavier
26/08/2010
Olha esta questão do banco de dados eu ja corri muito atras deste assunto, e nas minhas conclusões (pode alguem não concordar comigo) não existe melhor banco de dados, existe aquele que vc gosta de trabalhar, claro que vc vai encontrar a questão de segurança, de um banco diferente de outro mas isso vc deve avaliar com muito cuidado, quando eu comecei com Delphi utilizava o banco Acsess da microsoft, mas por ser um banco pago não mexi mais com ele, estou utilizando hoje o mysql, que é muito bom e tem opções de segurança muito boas, a vantagem de se utilizar o acsess no inico é que ele fica em um único arquivo, com todas as suas tabelas.
Concordo plenamente com vc... vc se adapta em um modo de trabalhar, embora seja difícil acho que o programador deve se esforçar ao máximo para ter conhecimento suficiente em diversos gerenciadores de dados, não dominar todos mas ter o mínimo de conhecimento possível pelo menos nos mais comuns. Também sou um iniciante, apesar de já conhecer as ferramentas há aproximadamente 3 anos, só estou trabalhando no ramo há 4 meses e gosto muito do firebird, pois ele me atende em todos meus requisitos, mas se um eu precisar ter conhecimentos em outra ferramenta como oracle por exemplo terei que me adequar... vale lembrar que a curiosidade é quem transforma o leigo em mestre
Você pode começar com o MySql, estudando esta ferramenta.
http://wb.mysql.com/
GOSTEI 0
Eriley Barbosa
26/08/2010
procedure Tfrmclientes.Button1Click(Sender: TObject);
begin
if(Datamodule1.tblclientesRgcli.text ='') or (Datamodule1.tblclientesCpfcli.Text ='') then
begin
Showmessage('RG e CPF são campos obrigatório para salvar o Registro');
abort;
end
else
if Datamodule1.tblclientes.state in [dsEdit, dsInsert] then Datamodule1.tblclientes.Post;
end;
procedure Tfrmclientes.Button2Click(Sender: TObject);
begin
Datamodule1.tblclientes.Append;
tedit2.setfocus;
end;
procedure Tfrmclientes.Button3Click(Sender: TObject);
begin
Datamodule1.tblclientes.First;
if Datamodule1.tblclientes.Bof then
application.MessageBox('Início dos Registros','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button4Click(Sender: TObject);
begin
Datamodule1.tblclientes.Prior;
end;
procedure Tfrmclientes.Button5Click(Sender: TObject);
begin
Datamodule1.tblclientes.Next;
end;
procedure Tfrmclientes.Button6Click(Sender: TObject);
begin
Datamodule1.tblclientes.Last;
if Datamodule1.tblclientes.Eof then
application.MessageBox('Você esta no Último Registro','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button7Click(Sender: TObject);
begin
if application.MessageBox('Deseja realmente excluir o Registro','aviso', mb_yesno)<> mryes then
abort
else
Datamodule1.tblclientes.Delete;
end;
procedure Tfrmclientes.Button8Click(Sender: TObject);
begin
close;
end;
procedure Tfrmclientes.dbedit1KeyPress(Sender: TObject; var Key: Char);
begin
if not ((key in['0'..'9'])or(key in[#8])or (key in[#46]))then
key:=#0;
end;
end.
begin
if(Datamodule1.tblclientesRgcli.text ='') or (Datamodule1.tblclientesCpfcli.Text ='') then
begin
Showmessage('RG e CPF são campos obrigatório para salvar o Registro');
abort;
end
else
if Datamodule1.tblclientes.state in [dsEdit, dsInsert] then Datamodule1.tblclientes.Post;
end;
procedure Tfrmclientes.Button2Click(Sender: TObject);
begin
Datamodule1.tblclientes.Append;
tedit2.setfocus;
end;
procedure Tfrmclientes.Button3Click(Sender: TObject);
begin
Datamodule1.tblclientes.First;
if Datamodule1.tblclientes.Bof then
application.MessageBox('Início dos Registros','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button4Click(Sender: TObject);
begin
Datamodule1.tblclientes.Prior;
end;
procedure Tfrmclientes.Button5Click(Sender: TObject);
begin
Datamodule1.tblclientes.Next;
end;
procedure Tfrmclientes.Button6Click(Sender: TObject);
begin
Datamodule1.tblclientes.Last;
if Datamodule1.tblclientes.Eof then
application.MessageBox('Você esta no Último Registro','Aviso', mb_iconinformation);
end;
procedure Tfrmclientes.Button7Click(Sender: TObject);
begin
if application.MessageBox('Deseja realmente excluir o Registro','aviso', mb_yesno)<> mryes then
abort
else
Datamodule1.tblclientes.Delete;
end;
procedure Tfrmclientes.Button8Click(Sender: TObject);
begin
close;
end;
procedure Tfrmclientes.dbedit1KeyPress(Sender: TObject; var Key: Char);
begin
if not ((key in['0'..'9'])or(key in[#8])or (key in[#46]))then
key:=#0;
end;
end.
GOSTEI 0
Renato
26/08/2010
Tudo certo! Muito obrigado! vou fechar esse post agora e abrir outro com futuras duvidas. Vou programar algo aqui com umas ideias boladas e se pirtar um duvida que sei que vai acontecer eu posto aqui. Desde já agradeço pelo tempo que todos tiveram comigo e lembrando que só nesse poste eu solucionei dois problemas que estavam me prejudicando.
GALERA MUITO OBRIGADO! Eu agora tenho professores e vou aprender muito mais rápido. quem puder add netwollf@hotmail.com
GALERA MUITO OBRIGADO! Eu agora tenho professores e vou aprender muito mais rápido. quem puder add netwollf@hotmail.com
GOSTEI 0