{"Error genérico en GDI+."}

viernes, 25 de julio de 2008

Generando imagenes dinámicamente me tope con el error :

{"Error genérico en GDI+."}

Como se puede observar el mensaje es "clarísimo" :-p ; bueno este fallo me daba cuando intentaba grabar la imagen en una corriente de salida.


public void WriteImagen(System.IO.Stream salida){
Bitmap res = new Bitmap(......);
.......
res.Save(salida, System.Drawing.Imaging.ImageFormat.Png);
res.Dispose();
}


Una solución para evitar este tipo de problemas es usando un MemoryStream, de la siguiente manera.


public void WriteImagen(System.IO.Stream salida){

Bitmap res = new Bitmap(......);
.......
MemoryStream ms = new MemoryStream();
res.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
ms.Seek(0, SeekOrigin.Begin);
ms.WriteTo(salida);
res.Dispose();

}

Y colorin, colaro esta solución a funcionado!!!

- FIN -

Formatos numéricos según la cultura regional

jueves, 24 de julio de 2008

Trabajando con formatos numéricos, nos damos cuenta que mientras en un pais se utiliza la coma como separador decimal, en otros se utiliza como separador de miles y lo mismo sucede con el punto.

Este tipo de problemas viene dado normalmente, a que estamos consumiendo servicios (datos) de otros servidores que tienen formatos númericos, de fechas.... distintos al nuestro (dandose este caso incluso entre servidores internos de una misma organización, servidor web, de base de datos...).

Tambien sucede que durante la fase de desarrollo de las aplicaciones nuestro sistema esta en "Español" y cuando subimos a producción a veces suele estar en "Ingles" o viceversa; esto suele dar muchos problemas de refactorización de código.



latitud = double.Parse(valorString);



En .NET, una buena solución para este último punto, es forzar la utilización de un formato numérico perteneciente a una "Culture" que nosotros definamos.



NumberFormatInfo numberInfo = CultureInfo.GetCultureInfo("es-ES").NumberFormat;
Latitud = double.Parse(valorString, numberInfo);



De esta manera, por ejemplo, evitaremos posibles fallos de conversión de formatos numericos cuando nuestra máquina de desarrollo este en "Español" y el framework del servidor en "Ingles".


- FIN -

error document.body.offsetHeight no funciona

miércoles, 16 de julio de 2008

Cuando determinadas funciones y propiedades de Javascript no funcionan adecuadamente como por ejemplo si se espera que document.body.offsetHeight nos de un valor y en su lugar devuelve un cero, es por que probablemente estemos colocando la siguiente directiva en la página:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


La solución es simple.... hay que quitarla o comentarla.

Error un tanto raro, que me ha pasado utilizando paginas maestras y controles de usuario de .NET

P.D: No esta demás advertir que al quitar la declaración del DOCTYPE se puede dar problemas al usar los estilos dentro de elementos DIV que utilicen por ejemplo la propiedad position.

- FIN -

Desarrollo .NET

jueves, 10 de julio de 2008


Dirección de mi blog Desarrollo.NET