Dúvida com componentes MDO
Oi.
Tenho uma aplicação com os seguintes componentes:
MDODataBase, MDOTransaction, MDOQuery, ProviderDataSet, ClientDataSet, e controles conscientes de dados.
O problema é que toda vez que inicio o projeto, aparece a mensagem ´Database not Assigned´.
Após isso, a aplicação abre-se normalmente e consigo reativar minha Query e meu ClientDataSet.
Mas essa mensagem nunca deixa de ser mostrada.
Utilizo Firebird 1.5 + Delphi 7 + Componentes de Acesso MDO.
Alguém sabe o motivo?
Tenho uma aplicação com os seguintes componentes:
MDODataBase, MDOTransaction, MDOQuery, ProviderDataSet, ClientDataSet, e controles conscientes de dados.
O problema é que toda vez que inicio o projeto, aparece a mensagem ´Database not Assigned´.
Após isso, a aplicação abre-se normalmente e consigo reativar minha Query e meu ClientDataSet.
Mas essa mensagem nunca deixa de ser mostrada.
Utilizo Firebird 1.5 + Delphi 7 + Componentes de Acesso MDO.
Alguém sabe o motivo?
Jonathan Bispo
Curtidas 0
Respostas
Emerson Nascimento
15/04/2008
talvez porque você sempre salve seus projetos com as conexões abertas - o que altamente desaconselhável.
outro motivo pode ser por conta de você ter a conexão num form que ainda não esteja aberto no momento em que o Delphi cria o form com os datasets.
por exemplo:
dm -> aqui estão os componentes de conexão.
form1 -> aqui estão os componentes de acesso aos dados.
quando você abre o projeto, o Delphi pode estar abrindo os forms na seguinte sequência: form1, depois dm. e quando o form1 foi aberto (estando os datasets abertos) ele não conseguiu alcançar a conexão, visto que o dm ainda não estava aberto. entendeu?
de qualquer forma, sugiro gravar seu projeto com a conexão fechada.
outro motivo pode ser por conta de você ter a conexão num form que ainda não esteja aberto no momento em que o Delphi cria o form com os datasets.
por exemplo:
dm -> aqui estão os componentes de conexão.
form1 -> aqui estão os componentes de acesso aos dados.
quando você abre o projeto, o Delphi pode estar abrindo os forms na seguinte sequência: form1, depois dm. e quando o form1 foi aberto (estando os datasets abertos) ele não conseguiu alcançar a conexão, visto que o dm ainda não estava aberto. entendeu?
de qualquer forma, sugiro gravar seu projeto com a conexão fechada.
GOSTEI 0
Jonathan Bispo
15/04/2008
Então você acha melhor eu salvar meus projetos com os datasets fechados e incluir, por exemplo, no evento OnCreate do Form um código para abrí-los?
GOSTEI 0
Sourcecode
15/04/2008
Sem querer dizer que os componentes MDO são ruins, mas já dizendo, tive muitos problemas com eles, pra mim depois de experimentar TUDO no que se refere a conexão com o firebird, a solução que mais me agradou foi o FIB, sem dúvidas a melhor camada de acesso ao firebird.
GOSTEI 0