logotipo

Sobre serialización de fuentes



Descripción general

Error que se produce cuando se deserializan fuentes que tienen un número decimal (por ejemplo. 8.25) como tamaño (size), en lugar de un numero entero (como tiene que ser)

He tenido un problema que me ha costado dos días encontrarlo, y al final resulta que es una parida

La historia empieza cuado he escrito una clase que se serializaba en formato SOAP y en la que uno de sus campos era el valor de una fuente (concretamente la fuente en uso en un control determinado).

Al serializar la clase, no había ningún problema, todo iba fenomenalmente, pero al deserializar la clase, me daba un error del tipo

System.Reflection.TargetInvocationException

Y al investigarlo me decía que el valor '8.25' o era un valor valido para 'size'

Después de volverme loco, he descubierto que el problema esta en el campo que contiene la fuente. La fuente se 'clona' del valor de la fuente de un control, que tiene el valor de

Name: 'Microsoft Sans Serif'
Size '8.25'
etc. etc.

Todo el problema esta en que ese valor 8.25, no se admite como valido al deserializar la fuente.

Para solucionar el problema he escrito unas pocas líneas de código y con eso se resuelve de forma satisfactoria

'------------------------------------------------------------ 
' Antes de serializar asegurarme de que el tamaño de la Fuente 
' no tiene decimales porque da error al deserializar 
Dim  tamaño As  System.UInt32 = 0 ' Entero corto positivo 
tamaño = CUInt (Me .ZFont.Size) ' Quitar los decimales 
If  Me .ZFont.Size <> tamaño Then 
    Me .ZFont = New  Font(ZFont.FontFamily, tamaño, ZFont.Style, ZFont.Unit)
End  If 
tamaño = Nothing 
'------------------------------------------------------------  

↑↑↑

A.2.Enlaces

[Grupo de documentos]
[Índice general del Documento]
[Home]
[Imprimir el Documento]

↑↑↑

A.3.Información del documento

Título
Serializacion de Fuentes
Autor
Contenido del documento
Un error que se produce cuando se serializan fuentes y tienen un tamaño de puntos decimal
Fechas
Fecha Creación
2007-08-20T00:00:00 [lunes, 20 de agosto de 2007 a las 0:00:00 horas]
Fecha Publicación
2007-08-20T00:00:00 [lunes, 20 de agosto de 2007 a las 0:00:00 horas]
IMT (Internet Media Type)
application/xhtml+xml
Juego de caracteres)
ISO 8859-1
Idioma
es-ES [es = Español] [ES = España]
Copyright
Texto con los derechos
© Copyright Joaquin 'jms32®' Medina Serrano 1.997-2007 - Reservados todos los derechos.
Licencia
[http://creativecommons.org/licenses/by-sa/2.5/es/deed.es_CL]
© 1.997- 2.008 - La Güeb de Joaquín
Joaquin Medina Serrano
  Ésta página es española