Ver Mensaje Individual
  #6  
Antiguo 10-03-2016
Adrian Martinez Adrian Martinez is offline
Registrado
NULL
 
Registrado: mar 2016
Posts: 6
Reputación: 0
Adrian Martinez Va por buen camino
Perdon por la falta de detalles! mira, este es el procedimiento que llamo desde el Onactivate y OnDesactivate de los MDIChild, para asignara el DataSource a la Lista de Acciones de mi ActionManager, que controla los botones en el Menu Principal, o sea el MDIForm.

Código Delphi [-]
Procedure SetiarBarra(MyDataSource:TDataSource; bCarga:Boolean);
var i:Integer;
begin
  With FrmMain do
    begin
      if bCarga = True then
        begin
          for i := 0 to ActionManager.ActionCount -1 do
            begin
              if UpperCase(ActionManager.Actions[i].Category)=UpperCase('Dataset')then
                TDataSetAction(ActionManager.Actions[i]).DataSource := MyDataSource;
            end;
        end
      else
        begin
          for i := 0 to ActionManager.ActionCount -1 do
            begin
              TDataSetAction(ActionManager.Actions[i]).OnExecute := Nil;
              if UpperCase(ActionManager.Actions[i].Category)=UpperCase('DataSet')then
                TDataSetAction(ActionManager.Actions[i]).DataSource := MyDataSource;
            end;

        end;
    end;
end;

Al procedimiento lo llamo asi:
Cuando activo el MDICHild (OnACtivate) = SetiarBarra(DSMain, True) //DSMain, es el nombre del DataSet.
Cuando Desactivo el MDICHild (OnDesactivate) = SetiarBarra(Nil, False) //DSMain, es el nombre del DataSet.

Entonces: Cuando activo un MDIChild, el MDIForm se enlaza a su DataSet, pero cuando se Desactiva ese MDIChild, nunca se desenlaza...

Espero haber aclarado algunas de tus dudas! Gracias por responder
Responder Con Cita