Ver Mensaje Individual
  #2  
Antiguo 03-12-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Eso es porque la variable PageControl1 que tenes declarada "no es quien tu crees que es"

Estas referenciando a un TPageControl que ni siquiera fue creado; no es el PageControl de tu formulario

Tenes dos alternativas:

1. Recorrer los controles del form, y buscar el PageControl

Código Delphi [-]
// se podria extender pasando como parametro el nombre...
// esta funcion te retorna el primero que encuentra
function TBaseForm.FindPageControl: TPageControl;
var
  I: Integer;
begin
  for I := 0 to ControlCount - 1 do
  begin
    if Controls[i] is TPageControl then
      Exit(Controls[i] as TPageControl);
  end;

  raise Exception.Create('PageControl no encontrado');
end;

2. Tener el PageControl como parametro

Código Delphi [-]
procedure TBaseForm.MostrarEdit(AEdit: TEdit ; APageControl: TPageControl; NameSheet: TTabSheet);
begin
  APageControl.ActivePage := NameSheet;
  AEdit.SetFocus;
end;

No tengo Delphi a mano ahora, pero si mal no recuerdo, los TTabSheet tienen en algun lado una referencia al PageControl; si no es explicito (propiedad de tipo TPageControl) deberia poder obtenerse haciendo:

Código Delphi [-]
  APageControl := NameSheet.Parent as TPageControl;

Por otro lado, porque tenes llamadas al procedimiento Abort? Sabes para que sirve eso?
Responder Con Cita