Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Aplicacion no se inicia (https://www.clubdelphi.com/foros/showthread.php?t=95196)

giulichajari 15-05-2021 18:32:08

Aplicacion no se inicia
 
Hola amigos tengo mi base de datos en MySQL y el siguiente metodo en el evento onCreate del DataModule.
El caso es que compila y dice success, y obtengo el mensaje "datos actualizados" pero no abre la aplicacion. Ejecutando con F9 obtengo Thread kill, como que mato el proceso.
Código Delphi [-]
procedure TDataModule1.DataModuleCreate(Sender: TObject);
var
   admin: TIniFile;
   i, x: integer;
   rutadatos, nombredir: String;
   fechanueva, fecha: TDate;
   fechas: string;
  begin
      admin := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'CONFIG.ini');

  with DataModule1.CONEXION do
   begin
    Close;
    DriverName := 'MySQL';

    Params.Values['HostName'] := admin.ReadString('admin', 'IP', '');
    Params.Values['DataBase'] := admin.ReadString('admin', 'bd', '');
    Params.Values['Port'] := admin.ReadString('admin', 'Port', '');
    Params.Values['User_Name'] := admin.ReadString('admin', 'User', '');
    Params.Values['Password'] := admin.ReadString('admin', 'Pass', '');
   end;

 try
   CONEXION.Open;

   try
     rutadatos := ExtractFilePath(Application.ExeName) + 'datosxml\';
     nombredir := rutadatos + 'copia' + FormatDateTime('ddmmyyyy', now());
     if not (DirectoryExists(nombredir)) then
       begin
        CreateDir(nombredir);

     for i := 0 to ComponentCount - 1 do
    begin
      if Components[i] is TClientDataSet then
      begin
        TClientDataSet(Components[i]).Active := True;
        TClientDataSet(Components[i])
          .SaveToFile(nombredir + '\' + TClientDataSet(Components[i]).Name
          + '.xml');

      end;

    end;
  end
  else
  begin

    for i := 0 to ComponentCount - 1 do
    begin
      if Components[i] is TClientDataSet then
      begin
        TClientDataSet(Components[i]).Active := True;

      end;
      if Components[i] is TSQLTable then
      begin
        TSQLTable(Components[i]).Active := True;
      end;


    end;

  end;

 finally
 ShowMessage('datos actualizados');
 end;

 except
    on E: Exception do

    showMessage(E.Message);

 end;


 end;

Neftali [Germán.Estévez] 17-05-2021 12:48:39

Lo más sencillo es que ejecutes pasa a paso desde el IDE, pongas un breakpoint al inicio del procedimiento y luego veas qué lineas se ejecutan y qué está pasando.

Otra cosa que se me ocurre es que en las opciones del proyecto haya cambiado tu "Main Form", de forma que no se esté creando.
Revisa las opciones de "Options / Application / Forms" y a ver lo que hay.


La franja horaria es GMT +2. Ahora son las 19:32:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi