Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2005
bataola bataola is offline
Miembro
 
Registrado: jun 2005
Posts: 22
Poder: 0
bataola Va por buen camino
No aparecn las propiedades Published de un form Padre

Hola a todos!

Les comento, estoy viendo un programa y me encuentro con una serie de formularios que tienen ciertas propiedades Published pero las mismas no aparecen en el Inspector de Objectos.
Por lo que pude ver, estos formularios se usan como base para otros Forms (herencia). Cuando necesito crear un nuevo Form a partir de uno de estos, lo hago de la siguiente manera: File-New-Other y aqui dentro elijo el formulario deseado en la solapa del proyecto. Se que para que aparescan alli deben estar incluidos en el Uses del .dpr.
Pero estas propiedades Published no deberian aparecer en el Object Inspector?

Salu2
Responder Con Cita
  #2  
Antiguo 09-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Saludos!

Para que las propiedades "published" de un formulario aparezcan en el inspector de objetos necesitas registrar dicho formulario en el entorno usando el metodo "RegisterCustomModule". Ejemplo:

Código Delphi [-]
uses
  DesignEditors, DesignIntf;
 
procedure register;
begin
  RegisterCustomModule(TFrmPadre, TCustomModule);
end;

"TFrmPadre" seria el formulario padre que contiene las propiedades "published" que han de tener los formularios hijos, y es el formulario que tendrias registrado en el repositorio de objetos de Delphi.

EDITO: "TFrmPadre" solo se utilizaria para publicar las propiedades pero nada mas, no llevaria ni componentes ni nada.

(Si no me explique bien, preguntame de nuevo).

Chao!

Última edición por jmariano fecha: 09-08-2005 a las 20:12:56.
Responder Con Cita
  #3  
Antiguo 09-08-2005
bataola bataola is offline
Miembro
 
Registrado: jun 2005
Posts: 22
Poder: 0
bataola Va por buen camino
"TFrmPadre" seria el formulario padre que contiene las propiedades "published" que han de tener los formularios hijos, y es el formulario que tendrias registrado en el repositorio de objetos de Delphi.

EDITO: "TFrmPadre" solo se utilizaria para publicar las propiedades pero nada mas, no llevaria ni componentes ni nada

Un par de cosas que no entiendo:
1) El procedure Register es Privado de "TFrmPadre"?
2) cuando yo creo un Form, con todos sus componentes y propiedades y eventos correspondientes, aparece en el repositorio de objetos y luego yo como te comente antes, heredo de el al crear un nuevo form. Porque decis que no llevaría ni componentes ni nada?
Responder Con Cita
  #4  
Antiguo 09-08-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por bataola
Porque decis que no llevaría ni componentes ni nada?
Quizá este hilo te aclare un poco.

// Saludos
Responder Con Cita
  #5  
Antiguo 09-08-2005
bataola bataola is offline
Miembro
 
Registrado: jun 2005
Posts: 22
Poder: 0
bataola Va por buen camino
Gracias igual!!
Responder Con Cita
  #6  
Antiguo 09-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Cita:
Empezado por bataola
"TFrmPadre" seria el formulario padre que contiene las propiedades "published" que han de tener los formularios hijos, y es el formulario que tendrias registrado en el repositorio de objetos de Delphi.

EDITO: "TFrmPadre" solo se utilizaria para publicar las propiedades pero nada mas, no llevaria ni componentes ni nada

Un par de cosas que no entiendo:
1) El procedure Register es Privado de "TFrmPadre"?
2) cuando yo creo un Form, con todos sus componentes y propiedades y eventos correspondientes, aparece en el repositorio de objetos y luego yo como te comente antes, heredo de el al crear un nuevo form. Porque decis que no llevaría ni componentes ni nada?
A la primera pregunta: No, no es privado. Se trata del mismo procedimiento que usamos para, por ejemplo, registrar componentes, asi que no va dentro de ninguna clase. Lo mejor es que lo definas en una unidad que vaya dentro de un paquete de solo diseño.

A la segunda pregunta: Cuando un formulario es registrado como un módulo dentro del entorno para poder publicar sus propiedades en el inspector de objetos, cualquier componente que, en diseño, depositemos en él se "pierde" luego al heredar de él (esto es debido a que Delphi tiene la limitacion de no permitir componentes en formularios registrados como módulos). Por eso lo mejor es crear un formulario vacio con las propiedades "published" correspondientes, registrarlo como módulo y, después, trabajar con los formularios que hereden de él (éstos, lógicamente, si que pueden llevar componentes).

Si sigues sin entender, pregúntame de nuevo!

Chao!
Responder Con Cita
  #7  
Antiguo 09-08-2005
bataola bataola is offline
Miembro
 
Registrado: jun 2005
Posts: 22
Poder: 0
bataola Va por buen camino
Gracias nuevamente!!! quedó claro.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:06:36.


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
Copyright 1996-2007 Club Delphi