Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
Question No se ven controles en herencia visual

Hola, tengo un Form con varios controles y algunas propiedades nuevas, y he seguido los pasos para meterlo en el repositorio (con algún que otro problema pero al final bien ). El problema es que cuando heredo en el IDE no se ven los otros controles, solo cuando ejecuto. ¿Debo hacer algo más?

Gracias por adelantado

PD: ya sé que es una pijotada, pero es más facil situar el resto de los controles viendo los que ya tienes :P.
Responder Con Cita
  #2  
Antiguo 07-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Te cuento que hago uso y abuso de la herencia visual, y nunca me ha sucedido algo similar... ¿Porqué no nos cuentas "los pasos" que haces?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 07-06-2004
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Hola,

Posiblemente lo que estás haciendo es cambiar manualmente desde la ventana de código la clase de la que hereda tu form. Cuando haces esto en modo diseño no funciona porqué el dfm se ha creado como un dfm del ancestro original.

Es decir, imagínate que tienes

Código Delphi [-]

TForm1 = class(TForm)
...

Si tu sustituyes TForm por TMiForm, que es una clase que tienes en el Object Repository, en diseño lo verás como un form heredado de TForm. A la práctica, vacío.

Lo que tienes que hacer es ir a File->New->Other y desde allí seleccionar el form que has dejado en el Object Repository. De esta forma, el dfm será correcto y podrás ver en diseño tu form como toca

Suerte!
Responder Con Cita
  #4  
Antiguo 07-06-2004
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 Sirkius
tengo un Form con varios controles y algunas propiedades nuevas
Si por propiedades nuevas te refieres a propiedades publicadas quizá te interese leer esto de gexperts:

http://www.gexperts.org/opentools/

Epecíficamente ve al tópico "How can I add published properties to a TForm descendent?" que en su último párrafo dice:

Cita:
Empezado por gexperts
Note that the IDE won't allow you to add both published properties and components to a custom module at the same time. The workaround is to create a form with your custom properties in a package, and then have a descendent form in the repository which adds the components you want there by default.
// Saludos
Responder Con Cita
  #5  
Antiguo 07-06-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
Guau, que velocidad en responder, así da gusto . Muchas gracias!!

Os explico los pasos que he seguido:
1. He metido los controles en el formulario
2. He hecho eso de añadir el formulario en un paquete de ejecución y en un paquete de diseño poner el Register con eso de RegisterModule...
3. He añadido el formulario al Repositer
4. He creado una aplicacion nueva, y he añadido el formulario a partir de New->Others->El formulario y he marcado inherited.

He cerrado la aplicacion y la he vuelto a abrir y nada. Ahora que lo pienso puede que el fallo este en que el formulario está en el paquete de ejecucion y no en el diseño, ahora lo pruebo y comento.

Saludos

EDITO: eso de separarlo en dos paquetes lo hice por un problema de que no encuentra el Proxies.pas, y en la pagina de Borland decia que hiciera eso de separarlo. No puedo añadir el formulario al paquete de diseño pq dice que ya está en el otro paquete . Sigo haciendo pruebas...

EDITO 2: se me olvido decir que las propiedades publicadas me funcionan bien (al principio no ), el problema unicamente está en los controles.

Última edición por Sirkius fecha: 07-06-2004 a las 21:20:25.
Responder Con Cita
  #6  
Antiguo 07-06-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Yo no hago nada de todo esto. No pongo el formulario base en el repositorio.

Añado el formulario base (el que se va a heredar) como un formulario más en el proyecto (Naturalmente lo quito de la lista de formularios que se crearán automáticamente).

Después, para añadir un formulario hijo. Simplemente le doy al icono de la hoja en blanco (equivale al File -> Add -> Other), y se muestra el repositorio.

Selecciono la pestaña del proyecto actual, y allí muestra todos los formularios del proyecto. Selecciono el formulario base, y ya está. Te va a crear un formulario heredado de él.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #7  
Antiguo 07-06-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
Pues nada , he probado creando un nuevo formulario con un label y si que iba bien . Toque el dfm del formulario "padre", así que voy a mirar si es eso.

Última edición por Sirkius fecha: 07-06-2004 a las 21:44:56.
Responder Con Cita
  #8  
Antiguo 07-06-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
He probado varias cosas (quitandolo del Repository, del package de ejecucion, etc.) y he visto que lo que falla es que esté registrado con RegisterCustomModule... seguire mirando...
Responder Con Cita
  #9  
Antiguo 07-06-2004
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 Sirkius
he visto que lo que falla es que esté registrado con RegisterCustomModule
¿Leíste mi primer mensaje?

Acabo de hacer la prueba y, en efecto, si uso RegisterCustomModule para agregar propiedades publicadas entonces no se muestran los controles. Pero si hago lo que dice en la página que te indiqué entonces puedes ver los controles junto con las propiedades publicadas.

// Saludos
Responder Con Cita
  #10  
Antiguo 07-06-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
Ok, lo siento por no haber leido eso (intendo huir de los textos en ingles ). La verdad es que prefiero imaginarme donde irán que montarme toda esa historia de heredar dos veces.

Muchas gracias!!
Responder Con Cita
  #11  
Antiguo 07-06-2004
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 Sirkius
La verdad es que prefiero imaginarme donde irán que montarme toda esa historia de heredar dos veces.
Pues sí, suena a mucho. Otra forma de hacer esto, la forma "profesional" es usar un Wizard para crear el formulario. El Wizard aparece también en el repositorio. A mi parecer queda mucho mejor pero requiere más trabajo.

// Saludos
Responder Con Cita
Respuesta



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 19:43:29.


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