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 27-05-2008
Efren2006 Efren2006 is offline
Miembro
 
Registrado: feb 2006
Posts: 172
Poder: 19
Efren2006 Va por buen camino
Problema con Uso de Formularios Heredados y en Package

Espero explicar lo mas sencillo que puedael problema que tengo

Estoy desarrollando una aplicacion en Delphi 2006 e Interbase, como esta aplicacion tienes muchos modulos, decidi colocar un Package para cada modulo, es decir, Todos los Formularios de un modulo en un Package, el problema es que estos formularios son Heredados de unos Formularios Base, y tengo un projecto Principal donde cargo Dinamicamente los Package y asu vez los formularios, esto trabaja bien, el problema es que en el formulario Base tengo una llamada a un Formulario (Impresion) que esta Declarado tanto en el Formulario Base como en el Projecto principal porque tengo todo encapsulado en una unidad. pero cuando mando a crear el Formulario me arroja el Siguiente Error (Anexo Imagen)..

Pienso que un Problema de Conflicto de Clases , pero no estoy 100% Claro

Si necesitan mas detalles del problema, les seguire comentando

Gracias de Antemano
Responder Con Cita
  #2  
Antiguo 27-05-2008
Efren2006 Efren2006 is offline
Miembro
 
Registrado: feb 2006
Posts: 172
Poder: 19
Efren2006 Va por buen camino
Disculpen no subio la imagen ,, el error es :

Access Violation at address O19573EE in module 'PCNT.bpl' Read of address 00000090

Esto ocurre exactamente al Pulsar un boton que ejecuta este Procedimiento:

procedure TFTabla.EjeReporte(Reporte:String;Valor:Variant);
Var
VentImp:TFormaImpresion;
NoReport:Boolean;
Begin
Try
NoReport:=True;
VentImp:=TFormaImpresion.Create(Self);
...
Responder Con Cita
  #3  
Antiguo 27-05-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
En el package debes agregar los DCP del paquete conteniendo la forma base y el formulario de impresión.
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #4  
Antiguo 28-05-2008
Efren2006 Efren2006 is offline
Miembro
 
Registrado: feb 2006
Posts: 172
Poder: 19
Efren2006 Va por buen camino
Cita:
Empezado por poliburro Ver Mensaje
En el package debes agregar los DCP del paquete conteniendo la forma base y el formulario de impresión.
Disculpa

Los Archivos DCP ??? ,, esos formularios hay que agregarlos a un nuevo Package para luego referenciarlos .. ?
Responder Con Cita
  #5  
Antiguo 28-05-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Efren2006 Ver Mensaje
Access Violation at address O19573EE in module 'PCNT.bpl' Read of address 00000090

VentImp:=TFormaImpresion.Create(Self);
Es raro ese error en esa línea.
Asegúrate de que el apuntador a la clase es correcto.
También puedes redefinir el método create del formulario para ver si llega a ese punto.
Si ese formulario depende (deriva/hereda) de otro, revisa el formulario base.
Recompila todos los packages.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 29-05-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por Efren2006 Ver Mensaje
Disculpa

Los Archivos DCP ??? ,, esos formularios hay que agregarlos a un nuevo Package para luego referenciarlos .. ?
Yo trabajo con una arquitectura similar a la tuya.

Tenemos una forma base de la cual se heredan todos nuestros formularios. Esta forma Base está empaquetada.

Cada formulario de la aplicación se hereda de esta formabase y a su vez es empaquetado con su respectivo Datamodule.

En el paquete del formulario Hijo, se debe agregar el Dcp del paquete quec ontiene la forma base.

Expero haberme logrado explicar.
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #7  
Antiguo 29-05-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por poliburro Ver Mensaje
...se debe agregar el Dcp del paquete quec ontiene la forma base.
Correcto, yo también trabajo con estructura similar a esta, pero en este caso "petaría" en compilación. No le veo sentido a que eso falle en Runtime con un Access Violation ¿no?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 29-05-2008
Efren2006 Efren2006 is offline
Miembro
 
Registrado: feb 2006
Posts: 172
Poder: 19
Efren2006 Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Correcto, yo también trabajo con estructura similar a esta, pero en este caso "petaría" en compilación. No le veo sentido a que eso falle en Runtime con un Access Violation ¿no?
La verdad ya lo solucione el problema, es que yo tengo creado en el Projecto Principal un TDataModulo con Consultas Generales del sistema, y en los Formularios Tanto como el Base como los hijos utilizo dicha TDatemodulo, el problema al parecer es que delphi (por alguna Razon que desconozco), no permite utilizar cualquier Unidad Definida en el projecto con los Formularios del Package, es mas yo tenia una Unit declarada en todos mis formulario para las variables publicas de todo el sistema y los Formularios Hijos no la reconocen, tuve que asignarle el Valor a las Varibles al crear el Formulario, incluso define una Varibale del Tipo Tdatamodulo para asigna la unidad ya creada en el projecto.

Si alguien sabe algo mayor ha este punto le agradeceria el comentario.

Saludos y Gracias por su Valioso tiempo
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema con formularios que se llaman mutuamente Patricio Varios 9 12-12-2006 19:38:52
Problema con Formularios y SQL Server villegasmajano Conexión con bases de datos 3 19-09-2006 19:51:38
problema agregando formularios al proyecto Maga84 Varios 8 28-04-2005 22:13:22
problema traspaso de datos entre formularios hijos VRO OOP 6 30-03-2005 13:35:53
Problema con Formularios Modales bajo Citrix Metaframe sarackganda Varios 0 04-06-2003 02:47:50


La franja horaria es GMT +2. Ahora son las 12:44:47.


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