Abrindo form com condição (if not FileExists)
Boa noite, estou tendo um problema no momento da execução do meu projeto, pois preciso que apareça o form 'fCaminho_banco, apenas se o arquivo onde esta o caminho do banco não estiver no seu destino correto, por exemplo. No evento Oncreate do dataModulo coloquei :
if not FileExists('c:\base.ini') then
begin
????????
end;
Minha duvida esta do que colocar nesse código, pois tentei de varias formas, e não deu certo. Acredito que tenha algo tambem em relação aos forms que estão no auto-create forms e os que estão no available forms. Bom, no meu projeto coloquei o dataModulo , fCaminho_banco e o fPrincipal no lado 'auto-create forms' e o restante dos forms no lado available forms.
A questão em si é que no momento de executar o projeto, se o arquivo do caminho do banco de dados (base.ini) não existir, então abra o form fCaminho_banco para criar o arquivo base.ini e tambem inserir atravez de um edit o caminho do banco, e caso o arquivo base.ini ja existir, então apenas abra o form fPrincipal. Se alguem puder me ajudar agradeço.
if not FileExists('c:\base.ini') then
begin
????????
end;
Minha duvida esta do que colocar nesse código, pois tentei de varias formas, e não deu certo. Acredito que tenha algo tambem em relação aos forms que estão no auto-create forms e os que estão no available forms. Bom, no meu projeto coloquei o dataModulo , fCaminho_banco e o fPrincipal no lado 'auto-create forms' e o restante dos forms no lado available forms.
A questão em si é que no momento de executar o projeto, se o arquivo do caminho do banco de dados (base.ini) não existir, então abra o form fCaminho_banco para criar o arquivo base.ini e tambem inserir atravez de um edit o caminho do banco, e caso o arquivo base.ini ja existir, então apenas abra o form fPrincipal. Se alguem puder me ajudar agradeço.
Jhon
Curtidas 0
Respostas
Renato Rubinho
05/02/2015
Buenos,
Segue código para, quando não encontrar o arquivo, abrir o form em modal para depois seguir o carregamento do sistema.
Não sei se no create do DataModule funciona corretamente. Se não funcionar, tenta no create do fPrincipal.
Segue código para, quando não encontrar o arquivo, abrir o form em modal para depois seguir o carregamento do sistema.
Não sei se no create do DataModule funciona corretamente. Se não funcionar, tenta no create do fPrincipal.
if not FileExists('c:\base.ini') then
begin
Application.CreateForm(TfCaminho_banco,fCaminho_banco);
fCaminho_banco.ShowModal;
fCaminho_banco.Release;
end;
GOSTEI 0
Jhon
05/02/2015
Bom dia Rrubinho, Com os forms funciona perfeitamentamente, deu certo. Porem no meu projeto estou usando um datamodule. Bom, caso não tenha outra forma para funcionar com o datamobule, então vou tirar o datamodule e colocar o componente SQLConnection no form principal, mas minha pergunta então é : Tem problemas de usar o SQLConnection em um form normal ? Pois se não tiver problema vou fazer isso. Agradeço a atenção.
GOSTEI 0
Renato Rubinho
05/02/2015
Por questão de organização, eu deixaria no DataModule mesmo.
Seu problema é apenas verificar se o arquivo existe antes de conectar o SQLConnection ?
Veja se colocando o código que passei no evento BeforeConnect do SQLConnection não resolve o que você precisa. Acredito que sim.
Seu problema é apenas verificar se o arquivo existe antes de conectar o SQLConnection ?
Veja se colocando o código que passei no evento BeforeConnect do SQLConnection não resolve o que você precisa. Acredito que sim.
GOSTEI 0
Jhon
05/02/2015
Na verdade, neste arquivo esta o caminho do banco de dados, então antes de ele conectar o sistema tem que identificar se tem o arquivo .ini ou não, pois o SQLConnection vai precisar deste arquivo para se conectar com o banco. Usando o código que me passou no datamodule da erro, as linhas ficam em vermelho, só sonsigo usar este codigo nos eventos de forms, acho que vou ter de colocar o componente sqlConection no form Principal para poder ter esta função do meu sistema.
GOSTEI 0
Renato Rubinho
05/02/2015
Tem que funcionar também no DataModule.
Provavelmente está dando erro porque você não declarou a unit Forms no "uses" do seu DataModule que é necessária para a criação do Form.
Provavelmente está dando erro porque você não declarou a unit Forms no "uses" do seu DataModule que é necessária para a criação do Form.
GOSTEI 0