Bienvenido RadStudio XE4

En el día de ayer pudimos celebrar el lanzamiento de Rad Studio XE4  y Delphi XE4. No se puede decir que fuera una sorpresa o que nos pilló de improvisto, pues en los días anteriores casi todos las grupos y compañeros que colaboramos, nos hemos ido haciendo eco en distintos medios públicos de la Red... Seguir leyendo →

¡Dar una buena imagen! Parte 2

Si os parece bien, recapitulamos: Comentaba al finalizar la entrada anterior, ¡Dar una buena imagen! Parte 1,   que estábamos en condiciones de proseguir, toda vez que habíamos generado una base de datos y almacenado algunas imágenes en ella, que era uno de los requisitos que podía demandar  el hecho de habernos planteado "devolver una imagen a través de nuestro servidor de DataSnap".... Seguir leyendo →

¡Felicidades Septiembre!

¿Qué tal estais?  🙂 Espero y deseo que bien. Hoy retomamos oficialmente, tras estas semanas de descanso,  la actividad de la página, eso sí, 🙂 ya con las pilas cargadas y llenos de energia. Y digo oficialmente, porque durante los días anteriores sí que había estado publicando comentarios y remarcando algunos enlaces interesantes en Facebook y Twitter (a partir de ahora... Seguir leyendo →

Failover Server in DataSnap and Delphi 2010

Recientemente ha editado un pequeño video, Andreano Lanusse, con el título que encabeza la entrada, y en donde se da continuidad a los distintos artículos que ha publicado sobre DataSnap, aunque en este caso no ya referidos a las novedades y primeros pasos, sino al uso de las características o funcionalidades que pueden ser menos conocidas. En este caso concreto, aborda Andreano la parte que afecta a como dar respuesta desde nuestro servicio a los fallos y se puede ver a modo de ejemplo como redireccionar el cliente ante la caída de uno de los servidores).

De la mano del Dr. Bob

Bob Swart, o Dr. Bob que es como comunmente le conocemos, dejaba conocer desde la tribu de Delphi, la posibilidad de descargar un nuevo documento en el que el tema central son los datos y DataSnap. Este documento de mas de 50 páginas, unido a la guía de Rad Studio 2010, tambien con un numero similar, puede descargarse libremente, con el único requisito de rellenar un pequeño formulario.

JSon y el vellocino de oro…

Ahhh Perdon... ¡Que esto no tiene nada que ver con los Argonautas! 🙂 Como estos días va a escucharse y leerse esto de "JSon", que es el acrónimo de (JavaScript Object Notation - Notación de Objetos de JavaScript), vamos a colocar el enlace para que sepamos de que va...

Seminario Web de 18 de Septiembre

No se si llegaste a asistir o no. Si no es así, tan poco te preocupes ya que imagino que en próximos días lo podremos tener disponible desde las paginas de embarcadero, para poder repasarlo con mas detenimiento, pues siempre quedan algunos detalles que se te escapan durante la celebración del evento. No obstante, creo que la impresión general que se recibió fue muy positiva. El seminario duró tres horas y fue mantenido por Andreano Lanusse, de sobra conocido para todos los que formamos parte de esta comunidad de programadores, como máximo representante de Embarcadero para América latina o dicho de otro modo, para la comunidad de programadores hispanos.

Por curiosidad (y Parte III)

Tanto la propiedad Data como Delta se definen como OleVariants, y se organizan internamente como un array de bytes, y es esta característica la que va a dotar de flexibilidad a las dos estructuras, que soportaran por un lado los datos, el contenido real, en el caso de la propiedad Data, y un registro de actualizaciones que representa a la propiedad Delta. Dicho registro, logicamente es de solo lectura, dado que es la unica forma de garantizar que es tan solo manipulable por el propio dataset. Tambien es por esa razón, ya que no nos es permitido modificarlo, es por la que existen metodos que nos permiten limpiar esa cache de datos que contiene los registros de cambios.

Por curiosidad (Parte II)

Seguimos el experimento, intentado satisfacer nuestra curiosidad. 🙂 Vamos a hacer lo siguiente: * En el modulo de datos eliminamos los dos componentes TClientDataSet que contienen los detalles. Es decir, cdsComposicion y cdsComponentes desaparecen. Tambien eliminamos todos los campos persistentes del dataset maestro cdsArticulos Logicamente, una vez hecho esto, los dos componentes TDataSource ligados a los mismos (a cdsComposicion y a cdsComponentes) ahora han perdido las referencias a los dataset y apuntan a nil.

Por curiosidad (Parte I)

Por curiosidad, ya que hablamos de AdoExpres y Datasnap, vamos a perder unos minutos en un par de comentarios que me parecen interesantes y que me hicieron reflexionar varios días de la semana que ha acabado. Como muchos de los comentarios que hemos compartido, han surgido a raiz del trabajo diario. En este caso, concretamente al modificar la ficha de Clientes ya que se consideraba la implementación de un proceso que recalculara las comisiones, que era uno de los detalles de la misma. Aquella pestalla mostraba las comisiones generadas por las compras de dicho cliente y era otro mas de los detalles de la ficha. Veamos... el proceso iba a disparar un procedimiento en la base de datos cuya misión era recalcular las comisiones que se mostraban en la rejilla y, en principio, no iba a retornar un conjunto de datos sino unicamente el exito en la finalización o el codigo del error de existir éste. Esto era problematico en el sentido de que, dado que nuestro conjunto de datos se ubica en la cache local y el procedimiento es disparado en nuestro servidor, los valores visualizados por el usuario podian en determinados casos diferir de los reales tras la ejecución del proceso, y podríamos necesitar invalidar el contenido de aquel dataset para mostrar los nuevos datos.

Cero contra quinientos sesenta ( Anexo)

No iba a escribir esta entrada pero me ha pasado algo similar a lo que me ocurrió con los comentarios sobre JediVCL, donde despues de haber acabado el segundo artículo, sentía que quedaban cosas que comentar y redacté un pequeño anexo con el que dejaba lo que me parecía mas importante zanjado. El resto de funciones se pueden ver sobre la marcha. Es más cuestión del día a día, a medida que te van surgiendo las dudas. Con este tema, siento que pasa algo similar. Hemos compartido dos entradas donde comentabamos como se generaban, y en base a que criterios, las sentencias sql que el proveedor (TDataSetProvider) finalmente "ejecuta" (o manda ejecutar). Bueno. Ya visteis que no él, sino que se apoya en una clase que crea a demanda, que se llama TSQLResolver. Concretamente, y para entrar un poco mas en detalle se iniciaba todo desde la función CreateResolver.

Cero contra quinientos sesenta ( y Parte 2)

En esta segunda parte de la historia, debería pienso, empezar a explicar el por qué del título, que seguramente os puede haber causado extrañeza. Todo tiene una explicación. Vereis, en estos casos, cuando existe un error y no tienes una explicación lógica que lo justifique, es cuando hacemos uso de herramientas de depuración que casi nos hacen sentirnos como sabuesos. Nos vemos a media tarde, siguiendo paso a paso la depuración del código o como en esté caso concreto nos paso, haciendo uso de una herramienta que nos permitía husmear entre bastidores, como puede ser el analizador de sql de SQL Server.

Obras son amores…

...y no buenas razones, que dice el refrán. Así que he pensado en retocar un poco el ejemplo, que referí en entradas anteriores como framework, con el fin de simplificarlo y que se aprecien mejor las relaciones entre los módulos, y entregarlo a Jose Luis Freire para su publicación en el Boletín. Lo que no... Seguir leyendo →

Blog de WordPress.com.

Subir ↑