Ver Mensaje Individual
  #1  
Antiguo 07-09-2007
Avatar de destrukthor
destrukthor destrukthor is offline
Miembro
 
Registrado: may 2006
Posts: 57
Reputación: 19
destrukthor Va por buen camino
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
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera.
Responder Con Cita