Delphi puzzles

A partir de esta semana, un nuevo sitio nos promete entrenarnos constantemente en delphi, volviéndonos agudos a través de ciertos juegos, propuestos por el autor, Jacob Thurman. Creo que los juegos, llamados Delphi Puzzles (rompecabezas de delphi), serán interesantes, pero hay una anécdota que contar del puzzle de esta semana, el primero de la serie…

La historia original relataba que cierto programa contenía una pérdida de memoria, al realizar una asignación sobre una propiedad del tipo TStringList, concretamente la propiedad Lines de un TMemo. La supuesta línea que provocaba el fallo es:


mmoRoles.Lines := lbxAvailableRoles.Items;

Jacob’s supuso, como la mayoría, que dicha línea de código dejaría al anterior objeto Lines en el aire, provocando una pérdida de memoria.
Sin embargo, se ha comprobado que dicha línea de código no provoca ningún problema… la VCL, desde la primera versión se encarga de realizar una asignación sobre el objeto existente, es decir el equivalente a:


mmoRoles.Lines.Assign(lbxAvailableRoles.Items);

Si se leen los comentarios que se han dado en el artículo de publicación del problema Roles and Goals, de hecho, nos hemos reido un poco a costillas de la inocencia de Jacob.

Creo que el tema ha resultado mas educativo de lo que él mismo se había propuesto originalmente, pues ha servido como muestra de lo buena que es la VCL.😉

Esperamos el siguiente juego de la serie… que se publicará el lunes. Sospecho que Jacob tiene sed de venganza..😀

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s