Ver Mensaje Individual
  #2  
Antiguo 28-02-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
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;

Última edición por duilioisola fecha: 28-02-2012 a las 14:16:40.
Responder Con Cita