Executar um comando antes de compilar...
Ola...
Primeiramente vou apresentar meu ambiente de desenvolvimento: Delphi 7, Banco de dados Postgres e componente de acesso Zeus.
Tenho uma rotina que faz o seguinte, no evento oncreate do meu DataModule eu pego algumas configuração de um arquivo texto como: HOST, PORT, USER, DATABASE... no qual o sistema irá se conectar...
até ai tranquilo...
o problema é que quando vou gerar o executavel por exemplo estou conectado na base de testes. exe:
HOST: 10.1.1.1
DATABESE: TESTE
USER: USUARIO
PORT: 1234
a questão é, se eu esquecer de DESCONECTAR do banco antes de compilar, quando o meu cliente for executar o programa antes mesmo de passar pelo evento do oncreate que é onde estar meu ZCONECTION (componente que faz o acesso ao banco) e tambem onde passo os parametros para a conexão, ele recebe uma mensagem de erro informando que não foi possivel conectar na base TESTE... que é onde eu estava conectado no ato da compilação...
Teria alguma forma de colocar uma rotina para desconectar da base que estou antes de gerar o meu executavel?
Primeiramente vou apresentar meu ambiente de desenvolvimento: Delphi 7, Banco de dados Postgres e componente de acesso Zeus.
Tenho uma rotina que faz o seguinte, no evento oncreate do meu DataModule eu pego algumas configuração de um arquivo texto como: HOST, PORT, USER, DATABASE... no qual o sistema irá se conectar...
até ai tranquilo...
o problema é que quando vou gerar o executavel por exemplo estou conectado na base de testes. exe:
HOST: 10.1.1.1
DATABESE: TESTE
USER: USUARIO
PORT: 1234
a questão é, se eu esquecer de DESCONECTAR do banco antes de compilar, quando o meu cliente for executar o programa antes mesmo de passar pelo evento do oncreate que é onde estar meu ZCONECTION (componente que faz o acesso ao banco) e tambem onde passo os parametros para a conexão, ele recebe uma mensagem de erro informando que não foi possivel conectar na base TESTE... que é onde eu estava conectado no ato da compilação...
Teria alguma forma de colocar uma rotina para desconectar da base que estou antes de gerar o meu executavel?
Km Sistemas
Curtidas 0
Respostas
Elton Rosa
20/12/2010
Olha o que acho que poderia fazer é no OnCreate colocar por exemplo: ZConnection1.Conected := False...
Assim desconectaria do banco de dados..
Mas posta aí sua rotina que você mencionou..
Assim desconectaria do banco de dados..
Mas posta aí sua rotina que você mencionou..
GOSTEI 0
Km Sistemas
20/12/2010
Olha o que acho que poderia fazer é no OnCreate colocar por exemplo: ZConnection1.Conected := False...
Assim desconectaria do banco de dados..
Mas posta aí sua rotina que você mencionou..
Assim desconectaria do banco de dados..
Mas posta aí sua rotina que você mencionou..
Então, eu ja tenho la no oncreate do meu programa isso:
ZConnection1.Conected := False;
a questão é que antes de passar nesta linha ja da o erro...
como foi compilado como conectado quando cria o dm ja vem conectado... ai da o erro
GOSTEI 0
Paulo Andrade
20/12/2010
Olha o que acho que poderia fazer é no OnCreate colocar por exemplo: ZConnection1.Conected := False...
Assim desconectaria do banco de dados..
Mas posta aí sua rotina que você mencionou..
Assim desconectaria do banco de dados..
Mas posta aí sua rotina que você mencionou..
Então, eu ja tenho la no oncreate do meu programa isso:
ZConnection1.Conected := False;
a questão é que antes de passar nesta linha ja da o erro...
como foi compilado como conectado quando cria o dm ja vem conectado... ai da o erro
GOSTEI 0
Km Sistemas
20/12/2010
Seguinte...
O meu problema esta sendo que antes de passar no evento oncreate do meu DM ja da o erro...
ou seja, qualquer coisa que eu coloque no OnCreate vai da o mesmo erro..
Em todos os casos ta aqui o código que tenho no OnCreate do DM
O meu problema esta sendo que antes de passar no evento oncreate do meu DM ja da o erro...
ou seja, qualquer coisa que eu coloque no OnCreate vai da o mesmo erro..
Em todos os casos ta aqui o código que tenho no OnCreate do DM
ZDBConecta.Disconnect; ZDBConecta.HostName := ParamStr(3); ZDBConecta.Port := StrToInt(ParamStr(4)); ZDBConecta.User := ParamStr(5); ZDBConecta.Database := ParamStr(6); ZDBConecta.Connect;
GOSTEI 0
Leonardo Xavier
20/12/2010
coloque ocódigo do seu aplcativo aqui somente a inicializaçao do mesmo:
EX.:
EX.:
. . Aplication.Initialize; . . . . Application.Run; . . .
GOSTEI 0
Km Sistemas
20/12/2010
coloque ocódigo do seu aplcativo aqui somente a inicializaçao do mesmo:
EX.:
EX.:
. . Aplication.Initialize; . . . . Application.Run; . . .
Esta aqui:
Application.Initialize; Application.Title := 'Menu Geral'; Application.CreateForm(TDM_Con, DM_Con); Application.CreateForm(TForm_Menu, Form_Menu); Application.Run;
GOSTEI 0
Leonardo Xavier
20/12/2010
Application.Initialize; Application.Title := 'Menu Geral'; Application.CreateForm(TDM_Con, DM_Con); DM.ZConnection1.Conected := False; Application.CreateForm(TForm_Menu, Form_Menu); Application.Run;
GOSTEI 0
Km Sistemas
20/12/2010
Application.Initialize; Application.Title := 'Menu Geral'; Application.CreateForm(TDM_Con, DM_Con); DM.ZConnection1.Conected := False; Application.CreateForm(TForm_Menu, Form_Menu); Application.Run;
fiz assim:
Application.Initialize; Application.Title := 'Menu Geral'; Application.CreateForm(TDM_Con, DM_Con); DM_Con.ZDBConecta.Connected := False; Application.CreateForm(TForm_Menu, Form_Menu); Application.Run;
mais não adiantou...
continua dando o erro de host não encontrado...
GOSTEI 0
Leonardo Xavier
20/12/2010
Application.Initialize; Application.Title := 'Menu Geral'; Application.CreateForm(TDM_Con, DM_Con); DM_Con.ZDBConecta.Disconnect;
DM_Con.ZConnection1.Conected := False; Application.CreateForm(TForm_Menu, Form_Menu); Application.Run;
GOSTEI 0
Km Sistemas
20/12/2010
Application.Initialize; Application.Title := 'Menu Geral'; Application.CreateForm(TDM_Con, DM_Con); DM_Con.ZDBConecta.Disconnect;
DM_Con.ZConnection1.Conected := False; Application.CreateForm(TForm_Menu, Form_Menu); Application.Run;
Fiz assim:
Application.Initialize; Application.Title := 'Menu Geral'; Application.CreateForm(TDM_Con, DM_Con); DM_Con.ZDBConecta.Disconnect; Application.CreateForm(TForm_Menu, Form_Menu); Application.Run;
mais ainda naum deu certo...
GOSTEI 0
Km Sistemas
20/12/2010
Alguém tem mais alguma sugestão???
GOSTEI 0
Km Sistemas
20/12/2010
alguem me ajude!!!!
GOSTEI 0
Km Sistemas
20/12/2010
Andei lendo sobre diretivas de compilação no delphi... {$ifdef}
Será que elas podem resolver esse meu problema?
Será que elas podem resolver esse meu problema?
GOSTEI 0
Km Sistemas
20/12/2010
Consegui....
Obrigado a todos...
Fiz o seguinte, editei a classe ZConnection do Zeus para que naum venha conectado....
até...
Obrigado a todos...
Fiz o seguinte, editei a classe ZConnection do Zeus para que naum venha conectado....
até...
GOSTEI 0
Km Sistemas
20/12/2010
como eu coloco esse topico como finalizado?
GOSTEI 0
Marcos Iwazaki
20/12/2010
Para finalizar alguem tem q responder...
veja se consegue agora...
Mais uma coisa. Se vc usar gexperts ele tem função de fecha qq componente ao compilar.
flw.
veja se consegue agora...
Mais uma coisa. Se vc usar gexperts ele tem função de fecha qq componente ao compilar.
flw.
GOSTEI 0