FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
"Include" en los formularios
Muy buenas compañer@s,
Estoy intentando reutilizar parte de un formulario (una zona de cabecera) en otros, al igual que en el código se puede utilizar un include de la siguiente forma: {$I '.\includes\veraccesos.inc'} Me he creado un archivo CABECERA.INC donde incluyo la parte del formulario que deseo repetir, pero en el formulario donde pretendo utilizarlo, no me deja poner: {$I '.\includes\CABECERA.INC'} Lo que sí me permite es pegar el trozo de texto que define esos elementos, naturalmente teniendo cuidado de dónde lo pego. De esta forma puedo reutilizar parte del diseño de un formulario para el resto de la aplicación, pero, además de ser muy laborioso, si hubiese que rectificar algo en esa zona de cabecera, tendría que abrir y modificar todos y cada uno de los formularios. ¿Alguien sabe alguna forma más lógica? ¿Hay alguna directiva similar a {$I '.\includes\veraccesos.inc'} que se pueda poner en el formulario (en modo texto naturalmente)? Gracias a todos.
__________________
Rafita. |
#2
|
||||
|
||||
Cita:
PD: Yo use en varias ocaciones $I sin problemas... ¿En dónde en particular quieres incluír un archivo?
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
¡Estoy alucinado por tu rapidez en responder!
Te explico, tenía una pequeña aplicación con un formulario cabecera que no desaparecía nunca, el resto quedaban bajo él dejándolo visible, pero hemos tenido problemas con las diferentes versiones del sistema operativo y con las distintas "apariencias"... por los altos de los bordes, de las barras de título de las ventanas,... Así que, por prisas, hemos decidio hacer todos los formularios completos, incluyendo en ellos la parte que antes permanecía constante. Es una chapa, pero es más o menos rápido. El include pretendía hacerlo así: Código:
object FTablas: TFTablas Left = 0 Top = 0 BorderIcons = [] BorderStyle = bsNone Caption = 'Mantenimiento de Tablas' ClientHeight = 543 ClientWidth = 792 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False OnClose = FormClose OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 {$I '.\includes\CABECERA.INC'} object Bevel2: TBevel Left = 248 Top = 176 Width = 273 Height = 297 end Al pasar de modo texto a modo formulario me aparece este error: Error creating form: Indentifier expected on line 21. Gracias por tu interés.
__________________
Rafita. |
#4
|
||||
|
||||
No creo que el DFM soporte directivas al compilador, ya que los datos del DFM no se compilan, podrías definir estas propiedades por código en el create de tus formularios.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
||||
|
||||
Yo no pasaría por alto la observación de delphi.com.ar que dice
Cita:
// Saludos |
#6
|
|||
|
|||
La idea de definirlo por código en el evento OnCreate del formulario me parece genial, de esta forma sí puedo utilizar un Include, y podría realizar cambios en toda la aplicación con solo modificar el archivo del include y recompilarla.
Hoy no lo voy a probar porque tengo dentista en 10 minutos, pero agradezco tu idea. Muchas gracias...
__________________
Rafita. |
#7
|
|||
|
|||
Cita:
Saludos.
__________________
Rafita. |
#8
|
|||
|
|||
Y la utilización de Frames no te ayudaría? Aunque sigo pensando que la herencia visual puede ser una buena solución y no es demasiado complicada
|
|
|
|