Ver Mensaje Individual
  #5  
Antiguo 28-09-2003
Avatar de apicito
apicito apicito is offline
Miembro
 
Registrado: may 2003
Ubicación: Ourense
Posts: 341
Reputación: 24
apicito Va por buen camino
La solución que me propone Ruben_Cu cierra la última instancia de Tab que se ha creado, por ello lo he intentado con un array de tabSheets de esta forma.
Código:
FORM1 
  private
    Contador : Integer;
  public
    Tab : array of TTabSheet;
procedure TForm1.Button1Click(Sender: TObject);
var Formula2:TForm2;
Begin
  inc(Contador);
  Tab[Contador]:=TTabSheet.Create(nil);
  with Tab[Contador] do
    begin
      PageControl:=PageControl1;
      Name:='Pagina'+trim(inttostr(Contador));
      Caption:=Tab[Contador].Name;
    end;
  Formula2:=TForm2.Create(Self);
  with Formula2 do
    begin
      Parent:=Tab[Contador];
      Caption:='Formulario'+trim(inttostr(Contador));
      Numero:=Contador;
      Show;
    end;
end;
FORM2 
  public
    Numero:integer;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caNone;
  Form1.Tab[Numero].free;
end;
Pero me da un error de violación de acceso en: Tab[Contador]:=TTabSheet.Create(nil);
Responder Con Cita