Ir para conteúdo
Fórum Script Brasil
  • 0

Preciso De Ajuda Mto Estranho Isso (RESOLVIDO)


sem ideia p/ nick

Pergunta

fala galera meu prob e o seguinte:

antes façam um teste abre o delphi poe no OnCreate do form o seguinte:

showmessage(ExtractFilePath(Application.ExeName) + 'db\')
isso retorna o diretorio do programa + banco de dados(que estara salvo na pasta DB) correto ? agora o meu prob e o seguinte: dm.Table1.DatabaseName esteja desativado ** lembrandu. DM = data Module, Table1 = nome da tabela, Data Base Name = caminho onde o prog busca o banco de dados agora o para alterar o caminho do banco de dados e necessario que ele não esteja ativado para não dar erro certo ? então eu botei aqui no OnCreate´
     dm.Table1.Active := false;
     dm.Table1.DatabaseName := (ExtractFilePath(Application.ExeName) + 'db\');
     dm.table1.active := true;

e esse e o grande misterio, ele da erro... nem copila pelo delphi.

o que esta errado?

preciso de ajuda URGENTE isso ae e muito importante...

desde já agradeço !!!

Link para o comentário
Compartilhar em outros sites

19 respostass a esta questão

Posts Recomendados

  • 0

xi pior que não e muito possivel.. porque tem coisas que fazem referencia a tabela la no DM isso e meio loucura nesse andamento da historia....

mais eu vou por por teste qualquer coisa vou ter que virar noite ae pra refazer...

sobre o erro daki a minutos eu vou pegar um Print Screen e por no meu blog ae mando a url....

Link para o comentário
Compartilhar em outros sites

  • 0

oh olha respondendo a ultima sugestao ainda deu um conflito:

[Error] Unit6.pas(29): Undeclared identifier: 'Application'

[Error] Unit6.pas(29): ')' expected but identifier 'ExeName' found

[Fatal Error] Unit1.pas(46): Could not compile used unit 'Unit6.pas'

agora botando Application.CreateForm, eu não entendi.. como assism ?

ta falando disso ak ?

Application.CreateForm(Tdm, dm);

Table1.Active := false;

Table1.DatabaseName := (ExtractFilePath('Application.ExeName') + 'db\');

table1.active := true;

Link para o comentário
Compartilhar em outros sites

  • 0

program VoxMessenger;

uses

Forms, Messages, SysUtils,

Variants, Classes, Graphics, Controls,

Dialogs, StdCtrls, Menus, ExtCtrls,

registry,

Unit1 in 'Unit1.pas' {frmlogin},

Unit2 in 'Unit2.pas' {frmcadastro},

Unit3 in 'Unit3.pas' {frminicio},

Unit4 in 'Unit4.pas' {frmsobre},

Unit5 in 'Unit5.pas' {frmchat},

Unit6 in 'Unit6.pas' {dm: TDataModule},

Unit72 in 'Unit72.pas' {frmadm},

Unit9 in 'Unit9.pas' {frmconfig};

{$R *.res}

var

diretorio : string;

begin

Application.Initialize;

Application.Title := 'Vox Messenger';

Application.CreateForm(Tfrmlogin, frmlogin);

Application.CreateForm(Tfrmcadastro, frmcadastro);

Application.CreateForm(Tfrminicio, frminicio);

Application.CreateForm(Tfrmsobre, frmsobre);

Application.CreateForm(Tfrmchat, frmchat);

Application.CreateForm(Tfrmadm, frmadm);

Application.CreateForm(Tfrmconfig, frmconfig);

Application.CreateForm(Tdm, dm);

Application.Run;

end.

no form OnCreate não tem nada.... (atualmente) antes tinha o:

Table1.Active := false;

Table1.DatabaseName := (ExtractFilePath('Application.ExeName') + 'db\');

table1.active := true;

eu botei esse comando la no OnCreate do DM mais não funcionou wink.gif

sera que não tenho que mexer em nenhuma outra propriedade ?!

po impossivel não funcionar, tinha que funcionar porque vejam so.

o prog carrega, então cria os forms quando criar o form do DM, ele executa os codigos (que muda o DataBaseName). so que não funciona sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Deixe como estava antes.

Só coloque a linha: Application.CreateForm(Tdm, dm);

Antes da linha: Application.CreateForm(Tfrmlogin, frmlogin);

você estava utilizando o dm = nil porque não estava criado ainda.

Link para o comentário
Compartilhar em outros sites

  • 0

pior que e esse mesmo.

esse aki na maquina eu estou todo enrrolado desse jeito so porque eu quero que meu prog funcione corretamente independente de onde seja instalado

**editado**

eu faço o prog e testo da seguinte forma eu copio apenas a pasta DB para fora da principal de preferencia para o C:\ ae eu tento executar o programa. nesse caso ae em cima ele deu erro pedindo esses dois arquivos.por isso eu me interessei pelos dois arquivos....

Link para o comentário
Compartilhar em outros sites

  • 0

olha o meu programa ele tem uma janela de login, para caso o cara se cadastre vai ter privilegios, eu fiz uma tela por traz disso tudo, uma que so eu sei a senha e não necessita de banco de dados para abrir, nela posso configurar algumas coisas por fora. nessa mesma janela a um DbGrid que faz claro referencia la ao Dm e sua Table1.

agora acho que isso não influencia, não e?

{$R *.res}

begin

Application.Initialize;

Application.Title := 'Vox Messenger';

Application.CreateForm(Tdm, dm);

Application.CreateForm(Tfrmlogin, frmlogin);

Application.CreateForm(Tfrmadm, frmadm);

Application.CreateForm(Tfrmcadastro, frmcadastro);

Application.CreateForm(Tfrminicio, frminicio);

Application.CreateForm(Tfrmsobre, frmsobre);

Application.CreateForm(Tfrmchat, frmchat);

Application.CreateForm(Tfrmconfig, frmconfig);

Application.Run;

end.

mesmo estando desse jeito se eu mudar de pasta ou passar para alguém tentar abrir em outra maquina da erro, parece que o comando não esta funcionando de nada.

unsure.gifsad.gif estou ficando desesperado wink.gifblink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

fala galera beleza?

oh seguinte o meu prog esta funcionando.

eu não entendi muito bem a soluçao porque não e algo tão complicado assim

eu na verdade botei isso aki no OnCreate do DM:

var

diretorio:string;

begin

diretorio := (ExtractFilePath('Application.ExeName')+ 'db\');

Table1.Active := false;

Table1.DatabaseName := diretorio

table1.active := true;

so isso achei simples...

a diferença ae do eu tava fazendo voces devem ter reparado que foi uma variavel string no meio ae....

mais em fim o prog esta funcionando qualquer grilo eu posto aki denovo...

valeu ae !!!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...