No funciona la rutina anterior
Aplicar este bucle, no va, me sigue generando un acces violation y no lo puedo controlar con esto, se bloquea la aplicación.
Había pensado en algún evento del Frame para que cuando se mostrará sus componentes este aplicara una variable Boolean y de esta manera acceder a sus elementos, pero no tiene , se podriá leer algún "message" para determinar el pto en que esta todo creado?.
Es decir un procedimiento de este tipo;
procedure TForm1.UMCreateFrame(var msg: TUmCreateFrame);
Var
frame: TFrame;
begin
If msg.tabsheet.Tag <> 0 Then Begin
frame := TFrameclass(msg.tabsheet.Tag).Create(self);
frame.Parent := msg.tabsheet;
frame.Align := alClient;
End;
end;
Esto no me dice nada de sus componentes....
Por otro lado, yo creo los TTabsheet en runtime, y luego asigno el frame a él.
Tab:=TTabSheet.Create(Self);
Tab.PageControl:=suiPageControl1;
Tab.Tag:=Integer(TFrame1);
Tab.OnShow:=TabSheetShow;
Tab.OnHide:=TabSheetHide;
Tab.Caption:='Hola';
Tab.Show;
Los Frame no son creado en runtime si no que los asigno al TTabsheet.
Un salu2
|