Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Ayucon apuntadores o punteros (https://www.clubdelphi.com/foros/showthread.php?t=27034)

alextmb 10-11-2005 05:27:27

Ayuda con apuntadores o punteros
 
hola soy un novato en delphi que tiene una duda ojala me puedan ayudar gracias
tengo 100 paneles en un apuntador que esta declarado APanel:array [1..100] of TAPanel y quiero saber como le hago para poder crear un label en cada uno de ellos, lo intente de esta forma lj1[ac]:=TLabel.Create(APanel[ac]); y no quizo ejecutar mi codigo

roman 10-11-2005 06:22:33

Código Delphi [-]
lj1[ac] := TLabel.Create(APanel[ac]);
lj1[ac].Parent := APanel[ac];

// Saludos

alextmb 10-11-2005 22:22:24

Gracias
 
de antemano gracias pero no logro funcionar, lo que quiero es crear un label sobre un apuntador de un panel y al poner //// lj1[ac]:=TLabel.Create(APanel[ac]); //// me marca un error incompatibles types 'TComponet' and 'TAPanel'
TAPanel esta declarado asi
Type
TAPanel = ^TPanel
public
APanel:array[1..100] of TAPanel

por su ayuda gracias

jachguate 10-11-2005 22:29:15

Aparentemente TAPanel no deriva de TComponent, por tanto, no puede ser el owner de los labels.

alextmb 10-11-2005 22:36:21

gracias, una ultima duda logree supuestamente crea un label dentro de un panel para hacer una prueba pero no aparece a que crees que se deba? mi codigo es este[quote]
public
a:TLabel;

Procedure TForm.Button1(Sender:Objet)
begin
a:=TLabel.Create(Panel1);
end;

roman 10-11-2005 23:31:33

Es lo mismo, mientras el Label no tenga padre no hay manera que lo veas.

¿De dónde viene esta declaración?

Código Delphi [-]
type
  TAPanel = ^TPanel

Si tu la hiciste, quítale el gorrito, y si es de algun código ajeno, que dios te agarre confesado.

Es raro tener que usar apuntadores a objetos ya que un objeto es de por sí un apuntador.

Si no hay nada que puedas cambiar pues creo que bastaría entonces agregar el gorrito en la asignación:

Código Delphi [-]
lj1[ac].Parent := APanel[ac]^;

jachguate 10-11-2005 23:34:25

Cita:

Empezado por roman
¿De dónde viene esta declaración?

Código Delphi [-]
type
  TAPanel = ^TPanel

No me había percatado de esto (la falta de etiquetas tiene algo que ver.. :mad:)

TAPanel, es entonces, en efecto, un apuntador a un apuntador, por tanto, habrá que hacer lo ya dicho por mi amigo roman.

Hasta luego

;)

roman 10-11-2005 23:36:20

Cita:

Empezado por jachguate
habrá que hacer lo ya dicho por mi amigo roman.

¿Confesarse?

:D

// Saludos

alextmb 10-11-2005 23:53:05

Muchas Gracias

jachguate 10-11-2005 23:54:15

Cita:

Empezado por roman
¿Confesarse?

:D

// Saludos

confieso que es una posibilidad latente.. :D :cool: :p


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

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