FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
TabSheet endemoniado ¿?
Vamos a ver si alguien me puede ayudar. He visto el hilo siguiente, que además es exactamente lo que pretendo hacer:
http://www.clubdelphi.com/foros/show...light=TabSheet Yo pongo todo el siguiente código: Código:
en fMain private Contador : Integer; public Tab : array[1..5] of TTabSheet; procedure TfMain.Button2Click(Sender: TObject); var CL:TfClientes; begin if PageControl1.PageCount<=5 then begin Contador:=PageControl1.PageCount; inc(Contador); Tab[Contador]:=TTabSheet.Create(nil); with Tab[Contador] do begin PageControl:=PageControl1; Name:='tsCL'+IntToStr(Contador); Caption:='Clientes '+inttostr(pageindex); end; CL:=TfClientes.Create(Self); with CL do begin Parent:=Tab[Contador]; Numero:=Contador; Show; end; end; end; y en fClientes public Numero:integer; procedure TfClientes.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caNone; fMain.Tab[Numero].Free; end; |
#2
|
||||
|
||||
Has verificado que el valor de número sea correcto?
Te recomiendo que intentes mejor hacer mejor un Self.Parent.Free? No tiene sentido almacenar el contador del tab, si ya tenes un apuntador a él en el parent, no? hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Si PageControl1.PageCount es igual a 5 la condición
if PageControl1.PageCount <= 5 se cumple pero al incrementar Contador estás accediendo a Tab[6] que está fuera de rango y al acceder a las propiedades de Tab[6] obtienes la violación de acceso. // Saludos |
#4
|
|||
|
|||
jachguate dice:
Cita:
A roman he de decirle que he cambiado la condicion a: Código:
if PageControl1.PageCount<4 then begin Un saludo y agradecido por vuestra ayuda. |
#5
|
||||
|
||||
Precisamente te digo que no es necesario guardarlo, porque podes mandarlo a liberar con el puntero que tenes en la propiedad parent. Mirá mi post anterior.
Hasta luego
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|