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)
-   -   Me cambia el Path del Data Modulo (https://www.clubdelphi.com/foros/showthread.php?t=47816)

destrukthor 07-09-2007 17:32:05

Me cambia el Path del Data Modulo
 
Hola amigos del Club.
Bueno mi problema esta relacionado con mi data modulo, este pierde su Path de carga de los archivos (Paradox), en el momento en que cargo una imagen en el formulario principal en el evento Form.Show, esto es para que cambien el logo empresarial cuando quieran, bien el logo es cargado en una funcion definida en una Unit de funciones y variables globales la cual extrae la imagen del Path gravado en un archivo .INI y el Data Modulo carga las Path desde el Mismo Archivo .INI
En el Evento OnCreate del DataModule es asi:
Código Delphi [-]
procedure TMD.DataModuleCreate(Sender: TObject);
Var cDirr: String;
    iDir: Integer;
    aList: TList;
begin
  aList:=TList.Create;
  cDirr:='';
  WITH TIniFile.Create((ChangeFileExt(ParamStr(0), '.INI'))) DO
    TRY
      cDirr:=ReadString('Tablas', 'Path', '');
    FINALLY
      Free;
  END;
  IF cDirr='' THEN
    cDirr:=ExtractFilePath(Application.ExeName)+'Tablas';
  For iDir:=0 TO  MD.DataSetCount-1 DO
    aList.Add(MD.DataSets[iDir]);
  MD.Close;
  MD.Params.Clear;
  MD.Params.Add('PATH='+cDirr);
  MD.Params.Add('DEFAULT DRIVER=PARADOX');
  MD.Params.Add('ENABLE BCD=FALSE');
  MD.Open;
  MD.Connected:=True;
  For iDir:=0 TO aList.Count-1 DO
    TDataSet(aList[iDir]).Open;
end;
Bueno esto funcionaba bien hata en red.

Al Agregar en el Form.Show la funcion cargar el nuevo logo de presentacion este medice que las tablas no las encuentra mostrando la ruta de donde esta la imagen acompañada de la tabla que intenta abrir (D:\Imagenes\Logo.bmp\Cliente.DB).
Esta es la Funcion q cargo:
Código Delphi [-]
FUNCTION m_Imagen(m_Logo:TImage): Boolean;
VAR c_DirLogo: String;
BEGIN
  WITH TIniFile.Create((ChangeFileExt(ParamStr(0), '.INI'))) DO
    TRY
      c_DirLogo:=ReadString('Imagen', 'Logo', '');
      IF c_DirLogo<>'' THEN
        m_Logo.Picture.LoadFromFile(c_DirLogo)
      ELSE
        m_Logo.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+
                                    'Dibujo\Dibujo.bmp');
    FINALLY
      Free;
  END;
END;

Y en el Formulario Principal llamo la funcion asi:
Código Delphi [-]
procedure TFormPric.FormShow(Sender: TObject);
begin
  m_Imagen(Image1);
end;


¿Como puedo resolverlo por favor?
Desde ya gracias
:confused:

Chris 07-09-2007 18:23:06

Por que no te das una revisada manual al archivo INI, talvez ahí pueda estar el problema.

destrukthor 07-09-2007 21:55:49

Ya resuelto
 
Muchas gracias...
... ya resolvi el problema y tienes razon al revisar el .ini me percate q grave los parametros de path de la imagen en los path del modulo de tablas, (un errorestupido por mi parte).
Gracias por responder.:D


La franja horaria es GMT +2. Ahora son las 03:02:25.

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