View Single Post
  #2  
Old 28/02/2012
duilioisola's Avatar
[duilioisola] duilioisola is offline
Miembro Premium
 
Join Date: Aug 2007
Location: Barcelona, España
Posts: 1,806
Rep Power: 23
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Teniendo la unidad destino en el USES debes escribir Unit.Componente.Propiedad := ???
Código Delphi [-]
unit SDIMAIN
...
uses BasDat...
...
boton.enabled := false
...
------------------------------

unit BasDat
...
uses SDIMAIN
...
procedure TBasDat.DatosNotasDataChange(Sender: TObject; Field: TField);
begin
  if TablaNotas.Modified then (ttable)
    SDIMAIN.Boton.Enabled := True;
end;

De todos modos es mejor hacerlo mediante métodos.
De esta forma, si luego agregas un label u otro botón o cualquier cosa que dependa de que esté habilitado o no, solo deberás cambiar la parte de SDIMAIN y no el resto de units que lo utilizan.
Código Delphi [-]
unit SDIMAIN
...
type
  TFormSDIMain= class(TForm)
  ...
  public
     procedure HabilitaBotones;
  end;

uses BasDat...
...
procedure TFormSDIMain.HabilitaBotones;
begin
   // Este procedimiento habilita botones en este formulario
   Boton.Enabled := True;
   // Tambien podría:
   // - poner visible o invisible algunas cosas
   // - cambiar colores
   // - modificar comportamientos de componentes
   // - etc.
end;
...
------------------------------

unit BasDat
...
uses SDIMAIN
...
procedure TBasDat.DatosNotasDataChange(Sender: TObject; Field: TField);
begin
  if TablaNotas.Modified then (ttable)
    SDIMAIN.HabilitaBotones;
end;

Last edited by duilioisola : 28/02/2012 at 14:16.
Reply With Quote