Programa não roda - DBExpress

Delphi

14/10/2009

Olá,
Boa noite a todos!
Desenvolvi uma aplicação com DbExpress + MySQL 5.0 no CodeGear 2009.
Instalei o Exe, as dll (libmySQL.dll; libmySQLd50.dll; libmySQLd51.dll, dbxmys.dll; Borland.Data.DBXMySQLDriver.Dll) no system32 do maquina, mas o programa simplesmente nãoo roda.
O banco consegue conectar blz, pq consigo com o front-end.
Se alguem puder ajudar, agradeço.

Att
Dalton


Dbergkamps10

Dbergkamps10

Curtidas 0

Respostas

Steve_narancic

Steve_narancic

14/10/2009

Não faltou a midas.dll?


GOSTEI 0
Dbergkamps10

Dbergkamps10

14/10/2009

Coloquei a midas.dll mas nao funfou.
alguem tem alguma ideia?


GOSTEI 0
Alex Maia

Alex Maia

14/10/2009

Qual mensagem de erro aparece?


GOSTEI 0
Dbergkamps10

Dbergkamps10

14/10/2009

aí esta o problema alex, não aparece nada.
O problema ta na hora de criar o DataModule.

Att
Dalton


GOSTEI 0
Steve_narancic

Steve_narancic

14/10/2009

ja tive problemas em que a aplicação não encontrava a midas.dll, abre o cmd e roda esse comando [b:e4ff065c4d] regsvr32 midas.dll[/b:e4ff065c4d]


GOSTEI 0
Alex Maia

Alex Maia

14/10/2009

Também acredito que seja no momento da criação do datamodule. Por isso, faça o seguinte: antes de compilar certifique-se que o SqlConnection esteja com a propriedade ´Connected = False´ e faça com que o SqlConnection busque os parâmetros de conexão de um arquivo de configuração no momento da criação do datamodule.

Qualquer coisa envie um e-mail para mim.

Flw.


GOSTEI 0
Dbergkamps10

Dbergkamps10

14/10/2009

Ola alex,
coloquei assim no OnCreate do Dm:

SQLConnection1.Connected:=false;
SQLConnection1.LoadParamsFromIniFile(ExtractFilePath(Application.ExeName) + ´config.ini´);
SQLConnection1.Connected:=true;

Mas continua sem rodar.
me ajuda.....

Att
Dalton


GOSTEI 0
Alex Maia

Alex Maia

14/10/2009

Deixe a propriedade Connected:=false ainda em tempo de projeto.


GOSTEI 0
Alex Maia

Alex Maia

14/10/2009

Deixe a propriedade Connected:=false ainda em tempo de projeto.


GOSTEI 0
Dbergkamps10

Dbergkamps10

14/10/2009

olá,
ja fiz tudo.....mas o problema continua e eh no data module.
vejam o codigo:
  Application.Initialize;
  ShowMessage(´Inicializou´);
  Application.MainFormOnTaskbar := True;
  ShowMessage(´Gerenciador de Tarefas Ok´);
  Application.CreateForm(TDataModule1, DataModule1);
  ShowMessage(´Criou o DataModule´);
  Application.CreateForm(TFMPrincipal, FMPrincipal);
  ShowMessage(´Criou o FmPrincipal´);
  Application.Run;
end.

so aparece ate o Gerenciador de Tarefas.
se alguem puder ajudar, agradeço.

att
dalton


GOSTEI 0
Afarias

Afarias

14/10/2009

o Windows é 64bits?

algum código no OnCreate do DataModule em questão?
algum DataSet com Active=True ou a conexão está ativa em DesignTime? (no DataModule)


T+


GOSTEI 0
Dbergkamps10

Dbergkamps10

14/10/2009

Olá,
afarias, no oncreate do datamodule tá assim:

procedure TDataModule1.DataModuleCreate(Sender: TObject);
var
i: integer;
begin
SQLConnection1.Connected:=false;
SQLConnection1.LoadParamsFromIniFile(ExtractFilePath(Application.ExeName) + ´config.ini´);
SQLConnection1.Connected:=true;
if SQLConnection1.Connected=true then
begin
{    for i := 0 to ComponentCount -1 do
        if Components[i] is (TClientDataSet) then
        begin
            TClientDataSet(Components[i]).Close;
            TClientDataSet(Components[i]).Open;
        end;}
    for i := 0 to ComponentCount -1 do
        if Components[i] is (TSQLTable) then
        begin
            TSQLTable(Components[i]).Close;
            TSQLTable(Components[i]).Open;
        end;
    for i := 0 to ComponentCount -1 do
        if Components[i] is (TSimpleDataSet) then
        begin
            TSimpleDataSet(Components[i]).Close;
            TSimpleDataSet(Components[i]).Open;
        end;
end
else
  begin
    Application.MessageBox(´Não foi possível realizar a conexão!´,´Atenção´, MB_OK + MB_ICONERROR);
    Application.Terminate;
  end;
end;

obrigado pela atenção.
att
dalton


GOSTEI 0
Afarias

Afarias

14/10/2009

1) O Windows é 64bits ??

2) Faça um ´log´ do passo a passo do OnCreate como vc fez anteriormente para descobrir onde o programa está ´travando´

3) Vc deve SEMPRE se certificar que *todos* os DataSets (principalmente ClientDataSets) estão com ACTIVE=FALSE (em tempo de projeto) antes de compilar

4) A princípio, não é boa prática abrir todos os DataSets ao criar o DM como vc está fazendo


T+


GOSTEI 0
POSTAR