Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Seleccionar un panel a partir de su nombre. (https://www.clubdelphi.com/foros/showthread.php?t=82022)

TiammatMX 16-01-2013 17:30:37

Seleccionar un panel a partir de su nombre.
 
Jóvenes delphineros, buen día/tarde/noche (según aplique) :p

Le platico mi problemita. Tengo una serie de TPanel's que contienen 'x' cantidad de componentes, los cuales a partir de una selección en otra parte de la pantalla, deben mostrarse/esconderse. Yo tengo éste pequeño codiguito:

Código Delphi [-]
var
   sNombrePanel: string;
begin
   sNombrePanel := 'pnlCap'+(Trim(IntToStr(iNumero+1)));
   Muestra(iNumero, (sNombrePanel as TPanel));
.
.
.
.
   Esconde(iNumero, (sNombrePanel as TPanel));
.
.
.
.
end;

El problema es que al tener el nombre del panel y "castearlo" para que lo envíe como parámetro a éstos dos procedimientos, me marca:

[Error] frmHistoriaClinica.pas(178): Operator not applicable to this operand type

¿Alguna idea de cómo solucionar ésto?

P. S.: Los procedimientos tienen éste llamado con sus parámetros.

Código Delphi [-]
procedure Esconde(iActual:Integer; pPanel:TPanel);


Código Delphi [-]
procedure Muestra(iActual:Integer; pPanel:TPanel);

Neftali [Germán.Estévez] 16-01-2013 18:16:27

No puedes hacer el CAST a partir del nombre del componente. Debes primero buscarlo.
Para eso puedes buscar en la ayuda sobre FindComponent.

Lo que debes hacer es obtener el componente con la función FindComponent y luego podrás hacer el CAST sin problemas.

Busca en el foro por la función Findcomponent y encontrarás infinidad de ejemplos.


La franja horaria es GMT +2. Ahora son las 06:24:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi