FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Guardar en un archivo el vector de componentes de una form
Hola amigos,
Tengo el siguiente problema, espero puedan colaborarme Tengo cierta cantidad de componentes que se crean en tiempo de ejecución sobre una form. Lo que deseo hacer, es guardar el vector de componentes de la form en un archivo, para luego poder cargarlo en una form diferente. Entiendo que el vector de componentes es un array dinámico. No se si este hecho produzca un problema al leer el archivo con la siguiente linea ComponentesPrueba:array of TComponents; ... FileRead(FileHandle,ComponentesPrueba,SizeOf(ComponentesPrueba)); La lectura me funciona con cualquier variable que no sea del tipo String ó array dinámico. Si alguien me puede sacar de dudas ó de el error se lo agradecería enormemente suerte..... |
#2
|
||||
|
||||
Cita:
De cualquier manera no entiendo cómo es que intentas guardar y leer las componentes ya que cada componente es también un puntero. Te voy a recomendar que leas este hilo: http://www.clubdelphi.com/foros/showthread.php?t=1334 de donde creo puedes tomar ideas para hacer lo que quieres. En breve resumen, lo que ahí propongo es un método que usa lo mismo que el IDE de Delphi para guardar las componentes de un formulario durante el diseño y que te evita mantener tú mismo un arreglo de las componentes que se van insertando durante la ejecución. // Saludos |
#3
|
|||
|
|||
Veo que lo propusiste en este hilo es muy parecido o igual a lo que yo deseo hacer.
Intentaré hacerlo y luego te cuento como me fue, Gracias Roman por sacarme del error, y perdona mi ignorancia..... .... Todos los días estamos para aprender |
#4
|
|||
|
|||
Roman....
leï el hilo que dijiste y lo aplique a mi caso, aparentemente funcionaba, pero al examinar cada componente cargado me di cuenta que no cargaba ciertas propiedades y varibles que yo había definido en ese componente y que el usuario cambió en tiempo de ejecución. Por ejemplo, uno de los componentes es TGenerador el cual tiene una variable publica llamada KVnominal, el usuario modifica este valor en tiempo de ejecución y guarda.... cuando carga el archivo este Valor de KVNominal sigue con el valor por defecto e igual sucede con la mayoría de las variables y propiedades de cada objeto. No se que pasa, si podes ayudarme, te lo agradezco..... |
#5
|
||||
|
||||
Las únicas propiedades que pueden guardarse son las propiedades publicadas. Intenta pasar las variables que quieres a la secciòn published del formulario.
|
#6
|
|||
|
|||
Tengo una propiedad publicada llamada Color, y esta funciona.
....y tengo una propiedad, también publicada , llamada PermisoArrastrar que es de tipo Boolean y esta no funciona, entonces no se que pasa. |
#7
|
||||
|
||||
En la sección ejemplos de mi página, te he dejado un ejemplo de un componente con una propiedad que es un array dinámico de TPoint.
Si este componente lo registráramos, necesitaríamos crear un editor de propiedades para que el usuario pueda interactuar con el mismo. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
|
|
|