Pongo la función lanzar , que esta en el formulario , del cual derivan los MDI.
Asi pues TFormDatos viene de TFormPadre ,
type
TFrmGCobrosPagos =
class(TFrmMaestros)
Código Delphi
[-]
class Function TFormPadre.Lanzar : TFormPadre;
var
i : integer;
f: TForm;
begin
For i := Screen.FormCount -1 downto 0 do
begin
F := Screen.Forms[i];
if F.ClassType = self then
begin
if F.WindowState <> wsMAximized then
F.WindowState := wsMaximized;
Result := TFormPadre(F);
Exit;
end
else if F.FormStyle = fsMDIChild then
F.Close;
end;
Result := self.Create(Application);
end;
El resto del código ya lo he puesto . El formulario se crea sin problemas , eso no tiene ningún error .
Cuando pongo
TFormDatos.Lanzar;
Se crea el MDIChild y no hay ningún error , así se crean todos los formularios y no da error .
El Error esta cuando pongo el código que he puesto antes , el siguiente
Código Delphi
[-]
with formDatos do
begin
PageControl.ActivePage := TabSheet1;
.......................
end;