Ver Mensaje Individual
  #2  
Antiguo 08-02-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Siempre que escribas en el Foro diciendo que te aparece un determinado error, por favor, especifica cuál es el mismo, puesto que de ese modo contribuirás a la posible solución que pueda ofrecérsete.

Creo que el error que tienen, en este caso, debe ser un "Access Violation", porque, tú tienes una clase que hereda de "TPanel" e implementas un constructor para tu clase, pero, ¿qué pasa con "TPanel"? Estás tratando de acceder a la propiedad de un objeto que no fue creado aún.

No tengo Delphi ahora mismo a mano, pero, prueba a llamar en el constructor de tu clase al constructor de "TPanel", más o menos así:

Código Delphi [-]
constructor Tbarco1.crear(dimens,x,y,ancho,alto : integer);
begin
  inherited Create;
  self.vert := false;
  self.dim := dimens;
  self.caption := '';   // propiedad de TPanel
  self.pro := Point(0,0);
  self.pop := Point(0,0);
end;
Pero, tal como lo expongo tampoco funcionará, porque creo recordar que "TPanel" necesita un "Owner" en su contructor, de tal modo que tendrías que proporcionárselo, ora lo incluyas como parámetro en tu constructor, ora le pases un "nil" como "Owner". Si haces esto último asegúrate de liberar objeto y el "TPanel" en un destructor de tu "TBarco", por ejemplo.

Aún así (disculpa que me enrolle tanto) es posible que no te funcione pasar un "nil" como "Owner" del "TPanel". No lo sé ahora mismo. No lo recuerdo. Prueba a ver, de todos modos y nos dices qué tal.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita