![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Tal vez no lo he entendido bien, pero creo que esto te daría True si en tu caso los elementos creados derivan de un TForm y False si derivan de un TDataModule.
__________________
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. |
|
#2
|
|||
|
|||
|
Hola Nefttali
Disculpa si no lo he descrito bien. Lo que sucede es que los formularios por defecto tienen la propiedad Visible = True y al utilizar ClassCReport.Create(Self) se muestran inmediatamente antes de hacer cualquier cosa, y lo que deseo evitar es que se haga un parpadeo al mostrarse por unos segundos el formulario antes de mostrar el diseñador de reportes porque luego con la instancia ya los puedo poner invisible. Este método es genérico para modificar los reportes que estén contenidos tanto en módulos de datos como en formularios y que dichos reportes dependen de los dataset u otros componentes asociados que están contenidos también en dichos módulos de datos o formularios. Para ello cree este método genérico que pasandole la clase de un Modulo de datos o un formulario lo instancia y el nombre del reporte que deseo modificar. Los reportes están guardados en un directorio y los ubico utilizando una ruta que les asigno en la propiedad .EngineOptions.TempDir del frxReport en cuestión. Como más arriba explique puedo cambiar en modo diseño la propiedad visible de los formularios a false pero es que esta instanciación con los formularios invisibles solo la necesito para configurar los reportes y guardar su modificación todo en runtime. y si lo hago de esta manera entonces tengo inconvenientes cuando voy a utilizar los formularios para la función que están definidos por que hago ciertos procesos en el método show del formulario que aunque ponga la propiedad visible de nuevo antes de hacer dichos procesos, estos no realizan el trabajo como antes. Saludos, |
|
#3
|
|||
|
|||
|
Por ejemplo con RTTI he visto ejemplos y lo he adaptado pero RTTI se aplica a la instancia de la clase no a la clase
Código:
procedure TMDConfigReportes.FormInvisible(ClassCReport: TComponentClass);
var
VCtx : TRttiContext;
VType: TRttiType;
VProp: TRttiProperty;
begin
VCtx := TRttiContext.Create;
try
VType := VCtx.GetType(ClassCReport);
VProp := VType.GetProperty('Visible');
VProp.SetValue(ClassCReport, False); //Aquí daría un error de memoria porque ClassCReport es una clase no una instancia de una clase
finally
VCtx.Free;
end;
end;
|
|
#4
|
||||
|
||||
|
Tal como comentas, la propiedad no se puede modificar en una referencia a clase sino en una instancia.
El código que te había puesto era para utilizarlo justo después de realizar el Create (de la instancia).
__________________
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. |
|
#5
|
|||
|
|||
|
Cita:
A Delphi cuando no se le especifica a un formulario explicitamente la propiedad visible a false este no la crea en su archivo DFM y en realidad aunque pueda tener acceso a modificar la clase tendría que crear la propiedad e igualarla a false. De todas formas no es tan grave el efecto. Saludos, |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| habilitar una clase antes de su uso en un componente | José Luis Garcí | OOP | 3 | 09-12-2013 12:55:48 |
| Acceder modificar propiedades publicas de una clase desde otra unidad | nsd | OOP | 1 | 08-08-2013 04:20:48 |
| Crear una clase y asignar objetos como propiedades | leanfreue | OOP | 4 | 13-04-2007 00:08:33 |
| Entrar a Propiedades Tchar en runtime ? | Pascual Montes | Gráficos | 0 | 06-12-2004 19:05:10 |
| Como puedo Modificar los valores de las propiedades de un ejecutable | DML | Varios | 4 | 07-05-2003 21:39:03 |
|