![]() |
![]() |
| 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
|
|||
|
|||
|
Si tenía un default, cuando se lo quite funcionó.
Ahora el problema es con una propiedad que se estructura así: type TPointArray=Array of TPoint; .... private FMatImage:TPointArray; procedure SetMatImage(const valor:TPointArray); .... published property MatImage:TPointArray Read FMatImage write SetMatImage; .... Implementation procedure TElemento.SetMatImage(Valor:TPointArray); var I:Integer; begin SetLength(FMatImage,Length(Valor)); for i:=0 to Length(FMatImage) do begin FMatImage[i].X:= valor[i].X; FMatImage[i].Y:= valor[i].Y; end; end; ... el problema que se genera es que esta propiedad se escribe bien durante el proceso de ejecución pero al guardarla en un archivo y recuperándola de nuevo, ya no queda con el valor que se guardó. Lo mismo me sucede con las otras propiedades del tipo array dinámico..... |
|
#2
|
||||
|
||||
|
Cita:
¿Esas propiedades se están guardando bien en el DFM? ¿Has definido la forma de guardar estos datos? (DefineProperties) Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
|
#3
|
|||
|
|||
|
Haber si me hago entender bien...
Lo del Default era de una propiedad de tipo Boolean que comenté anteriormente. Ésta última es otra propiedad y es del tipo array dinamico, creo que es por eso que me crea conflicto. La forma de guardar es con writeComponent(TForm1)... estoy guardando todos los objetos que están sobre la form1. Lo que pasa es que los objetos me los guarda a medias... entre otras las propiedades del tipo array dinámico no se almacenan correctamente. |
|
#4
|
||||
|
||||
|
El problema es que con este método no puedes manejar este tipo de componentes; los arreglos no pueden ser propiedades publicadas.
// Saludos |
|
#5
|
||||
|
||||
|
Cita:
Igualmente te recomiendo evaluar, si en lugar de un array te conviene tener una colección o similar. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
|
#6
|
||||
|
||||
|
Cita:
"Las propiedades no publicadas no pueden ser fácilmente guardadas en el dfm." Es decir, me parece que de cualquier forma estas propiedades no podrán aparecer en la sección published y por ende no pueden ser almacenadas con este mecanismo facilmente, a menos que se proceda como indicas. // Saludos |
|
#7
|
|||
|
|||
|
Cuando declaré la propiedad así
property MatImage:Array of TPoint read FMatImage write SetMatImage;salió un error pero cuando la declaro así Type TPointArray=Array of TPoint; property MatImage:TPointArray read FMatImage write SetMatImage; no sale error al compilar. Sino sale error porque no se puede hacer. Mi gran problema es que no es la única propiedad de tipo array dinamico que necesito manejar, hay otras que incluso son del tipo "array of variant", que me permite manejar números complejos. Entonces la pregunta es ¿Como almaceno componentes con propiedades del tipo array dinamicos en el disco duro para luego cargarlos con los cambios que el usuario haya hecho? |
|
#8
|
||||
|
||||
|
Cita:
Les recomindo ver el código del TStringGrid como ejemplo. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Última edición por delphi.com.ar fecha: 17-02-2004 a las 17:54:30. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|