Delphi - Findcomponent

 
Vista:
sin imagen de perfil

Findcomponent

Publicado por Anel (78 intervenciones) el 26/01/2007 22:41:08
Tengo este procedimiento:

procedure iniciaTabs;
var
checo:Tcomponent;
i:integer;
begin
with form1 do
for i:=1 to 9 do begin
checo:=findcomponent('TabSheet'+inttostr(i));
(*) with checo as Ttabsheet do begin
TabVisible:=false;
end;end;
end;

en la linea del asterisco, explota y me da el error:

Invalid class typecast

que me pasa? como puedo corregir esto?

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:Findcomponent

Publicado por E.T. (1244 intervenciones) el 27/03/2007 01:52:38
Dado que ya sabes que tipo de componente es, por que no declaras checo como TTabSheet, si eso no es entonces pudiera ser que el tabsheet que buscas no lo haya encontrado e intenta hacer invisible algo que no existe, prueba poniendo antes del with un if como lo siguiente

procedure iniciaTabs;
var
checo:Tcomponent;
i:integer;
begin
with form1 do
for i:=1 to 9 do begin
if findcomponent('TabSheet'+inttostr(i))<>nil then begin
checo:=findcomponent('TabSheet'+inttostr(i));
with checo as Ttabsheet do begin
TabVisible:=false;
end;end;
end;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar