Siete vidas tiene el gato…

febrero 6, 2009 en Delphi, Entrada Diario

Hola a todos de nuevo.

¿Cuanto tiempo, no? :-)

Antes que nada, comentaros que me alegro de retomar la primera entrada del blog en el 2009, ¡de nuevo!, tras un interminable número de meses donde he estado un tanto apartado del blog y de la actualidad.

Esto de las páginas web y de los blogs (sean personales o no lo sean) se convierte en parte de nuestras rutinas diarias y cuando nos ausentamos lo tiran de menos, tanto las personas que estamos escribiendo como aquellos que se acercan de cuando en cuando a leer unas lineas. Se que hay muchos compañeros que se alegrarán de ver esta entrada.

A mi tambien me alegra mucho compartir estos breves minutos que he podido sacar hoy , después de haber pasado meses y meses sin dar señales de vida. Las cosas son así y no siempre puede uno disponer de su tiempo libremente. Y por otro lado, no siempre nuestro tiempo de ocio va unido al trabajo. En mi caso, ha sido así durante bastantes años, tiempo atras, en los que pude compartir algunos de los articulos para sintesis, albor y finalmente, para el rinconcito de Jose Luis Freire. Sin contar las entradas del blog, el tiempo de moderador del foro de delphi que me ocupo cerca de dos años, etc, etc, etc…

Este ultimo año, el poco tiempo de ocio que he tenido lo he dedicado para practicar deporte, con la sana idea de correr mi primera maraton, despues de estos 5 o 6 ultimos años en los que solo he participado en Medias. He hecho todo lo posible por participar en la proxima maraton que se va a celebrar en Barcelona (casi todos mis amigos del grupo van a asistir) pero finalmente no podré correrlo y se me escapara como me ocurrió el año anterior. Si alguien conoce un poco de que va el tema, sabe perfectamente la cantidad de horas que se nos van semanalmente en los entrenos. Es dificil el día que no hagas una tirada entre 10 y 15 kms. Y series, y farleck, etc.
No pasa nada. Me han vencido estos ultimas semanas los resfriados que me han dejado k.o. Al próximo año diós dirá. A fin de cuentas, corremos para divertirnos.

No. No todo puede ser trabajo. Tampoco es del todo cierto que haya dejado de escribir. He dedicado bastantes horas de la semana en estos ultimos 3 , 4 meses para preparar un pequeño proyecto que esperaba sobre mi mesa. Y no tiene nada que ver con la programación sino con mi afición desde siempre a la poesía. Así que espero que sea este año el que vea nacer ese pequeño libro de poemas, tras algunos años de silencio… Tiempo al tiempo. Estoy en ello y es otro de los motivos por los que ultimamente no he dado señales de vida.

Respecto a la programación… ummmmmmmmmmm…….

¿Qué quereis que os diga?

Sigo volcado en Delphi pero quizás muy desengañado. Iba a preguntaros si lo habían vuelto a vender…. ¡Que maldad! :-) ¿No? Fijaos que a mi sí que me duele decir una cosa así porque llevo muchos años vinculado a esta herramienta de desarrollo. Casi diría vinculado afectivamente.

Estos ultimos cambios los he vivido con mucho desinterés, quizás propiciados porque en mi opinión se ha perdido un poco ese espiritu que unía a los programadores que nos acercabamos a Delphi( que entonces tenía ese halo de “no se que” que le hacia atractiva), y quizás el paso de mano en mano, de una compañía a otra, le ha restado feeling a nuestro noviazgo. Se han hecho algunos esfuerzos para acercar a la comunidad hispana pero siempre parecen insuficientes.

Y tampoco parece que aporten nada revolucionario frente a lo que teníamos. Y yo fui uno de los que me actualicé, desde Delphi 5 Profesional (Delhi 7 en la empresa en la que trabajaba en aquellos momentos) a Delphi 2007, inclusive con un año de mantenimiento que solo sirvió para poder tener esta ultima versión desde el Borland Developer Studio 2006. Un manteniento que realmente no me aporto mas que el derecho a tener la actualización….

Bueno… sabéis lo que os digo… que vamos a centrarnos en lo nuestro. La entrada se presta para que os cuente mi vida por capítulos pero lo realmente importante no es mi vida sino la ayuda que os pueda aportar, desde la humildad y responsabilidad, que siempre ha sido la guía de mis pasos tanto a nivel personal como profesional.

Podemos empezar, por releer la entrada que acabo de encontrar y que habla de las caracteristicas mas destacables de Delphi 2009, escrita desde Embarcadero. Nos puede dar una idea mas clara de que puede aportarnos esta nueva versión frente a lo que ya tenemos.

Delphi 2009 Reviewers Guide

Respecto a Velneo, he seguido de cerca la evolución de la beta hasta hace un tiempo. Y he tenido la suerte de experimentar con el driver de conexión ODBC desde Delphi, con la sana idea de poder compartir lo mejor de los dos mundos. En aquel momento se trabajaba muy seriamente para que fuera una realidad y yo he podido ver parte de esos frutos. Pero todo esto, si os parece, lo dejamos para entradas posteriores, que ya tendre algo mas de tiempo para preparar los comentarios.

Nada mas por hoy. Me alegro mucho de veros de nuevo.

Salvador

No te olvides…

febrero 1, 2008 en Advertencia, Artículos, Consejo, Entrada Diario, Velneo

… que también puedes crear un DSN del sistema mediante código.

¿Qué por qué lo digo?

Bueno… el caso es que estaba leyendo algunas preguntas del foro de Velneo antes de irme a dormir y la única que he visto con cero respuestas la hacía un compañero que firmaba como RAM (¡igual es el diminutivo de Ramiro porque seguro que estaréis pensando que tiene algo que ver con las memorias…!). Leo el título y mecachis… “Odbc.dll“.

Coñe, si era precisamente de lo que hablé en una de las últimas entradas y también, precisamente, el compañero preguntaba un tema que no salió pero que perfectamente, de haberlo pensado, lo hubieramos comentado. ¿Recordais que en dicha entrada “Atrevete a conocer a Velneo. Parte 2” compartiamos un pequeño video donde creabamos un DSN de Sistema desde el panel de control?.

Veamos… Es muy tarde y estoy agotado, pero vamos a dar unas pinceladas para que RAM encuentre la información. :-)

En primer lugar, vamos a ver que pasos podríamos seguir…

El primero podria ser averiguar que función nos va a permitir que podamos crear el DSN. Así que tras una pequeña busqueda en Internet hemos averiguado que existe una libreria ODBCCP32.DLL, que exporta una función que podemos invocar para obtener nuestro proposito. Esta función es SQLConfigDataSource.

Así que en este punto, podrías repasar la entrada Primeros pasos tras el curso… en la que hablabamos de como declarar nuestra librería en el entorno de Velneo para luego poder utilizarla desde una función o un proceso.

Veamos la cabecera de la función:


function SQLConfigDataSource(hwndParent: HWND; fRequest: WORD; lpszDriver: LPCSTR; lpszAttributes: LPCSTR): BOOL; stdcall; external 'ODBCCP32.DLL';

Nos faltaría saber que debemos indicar en cada parámetro:

hwndParent -> Hace referencia al handle o manejador. Podemos pasarle el valor cero (0).

fRequest -> Hace referencia al tipo de operación y existen definidas a tal efecto un grupo de constantes.

Un segundo… que las vamos a detallar:

  • Añadir un DSN ->ODBC_ADD_DSN = 1
  • Editarlo ->ODBC_CONFIG_DSN = 2
  • Eliminar un DSN ->ODBC_REMOVE_DSN = 3
  • Añadir una DSN de sistema ->ODBC_ADD_SYS_DSN = 4
  • Modificar un DSN de sistema ->ODBC_CONFIG_SYS_DSN = 5
  • Eliminar un DSN de Sistema ->ODBC_REMOVE_SYS_DSN= 6;

Finalmente, los parametros lpszDriver, lpszAttributes harían referencia a la cadena que identifica al driver y a la cadena de atributos de la que nos valemos para configurarlo. Dicha cadena es diferente en función del tipo de driver que consideremos. En el caso por ejemplo de una base de datos de Access, el parámetro driver podria ser semejante a la cadena: ‘Microsoft Access Driver (*.mdb)’. Y en cuanto a los atributos, la cadena de texto debería enlazar un conjunto de pares de atributos/valor, algunos como los siguientes:

UID=miUsuario
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=2048
FIL=MS Access
DriverId=25
DefaultDir=C:MisProyectosbbdd
DBQ=C:MisProyectosbbddmiBaseDeDatos.mdb

Un forma que os permitiría saber que atributos podeis necesitar para crear vuestra conexión, podría ser la de crear un fichero DSN y para ello, deberíais abrir el Panel de Control -> Herramientas Administrativas -> Origenes de Datos y añadir un nuevo fichero haciendo clic en ADD, que os permitirá, una vez elegido el driver y los valores de conexión, generar un fichero con extensión DSN que contiene los atributos comentados y que puede ser utilizado para crear una conexión.

El resto ya es un poco en función de pasar mas o menos trabajo parametrizando las funciones de Velneo, para permitiros añadir/modificar o borrar un DSN tanto de Usuario como de Sistema.

Espero Ram que te pueda ayudar.

Aquí te dejo unos enlaces que apuntan algunos documentos de microsoft en los que se comenta el tema y que estoy seguro que te ayudaran a introducir la creación de DSN mediante código desde tus mapas de Velneo.

XL: How to Use File DSNs and DSN-less Connections

http://support.microsoft.com/search/default.aspx?query=sqlconfigdatasource&catalog=LCID%3D1033&spid=&mode=r&lsc=0

:-)

Ahora sí que me voy a dormir… ;-)

Atrévete a conocer Velneo – Parte 2

enero 21, 2008 en Artículos, Entrada Diario, Noticias Velneo, Velneo, Videos

Inicialmente no había previsto crear esta segunda entrada, de forma que lo escrito en “Atrevete a conocer Velneo” era un pequeño guiño a la nueva V7 y en concreto, a una de las novedades que ya se habían dado a conocer desde la empresa Velneo pero que, quizás para muchos pudieron pasar inadvertida. De hecho, y sin querer restar importancia al resto de novedades, que anticipo no son pocas y algunas muy significativas, quizás la que marca en mi opinión un antes y un después y una apertura hacia el exterior es la que ya pudimos leer desde su blog, en fecha 19 de Junio de 2007. Es la primera referencia oficial que pude encontrar.

Esta era la entrada: http://blog.es.velneo.com/web/p.pro?vdis=4&p=33241

Dentro de la misma, extraigo un pequeño parrafo que es el que nos interesa:

Actualmente el equipo de desarrollo trabaja con distintos subproyectos de V7, principalmente en el área de datos, Velneo vServer y Velneo vDataClient y en las próximas semanas empezaremos a probar internamente el driver ODBC de acceso a Velneo vServer que se realiza paralelamente al Velneo vDataClient.

Yo decía al finalizar “Atrevete a conocer Velneo”:

“Es posible que pronto descubramos que no están tan lejos, y que desde el pequeño mundo de la diosa griega tambien se puede llegar a Velneo… ¡Milagros de la V7!”

Pues bien… Me gustaría romper una lanza a favor de Velneo en este punto y reflexionar sobre lo difícil que resulta sacarse las etiquetas de encima una vez que te las asignan. Y es que, a Velneo, le ha caido el estigma de que es una plataforma que va a aislar al programador, fruto de la nula conectividad hacia el exterior y hacia otras bases de datos. Y quizás la peor mentira es una verdad a medias que se propaga (fruto en un gran numero de casos de nuestra ignorancia) ya con razón o sin ella. Os pongo un ejemplo… Hace un par de días, sin ir mas lejos, comentaba con un compañero que programa habitualmente con Delphi, al igual que yo lo hago, y al salir en la conversación el tema de la existencia de Velneo y su posibilidad de uso como una posibilidad mas de oferta de nuestros servicios, zanjaba él de forma categorica:

-¡No hombre, no!. ¡Si usas Velneo vas a tener que morir a ellos! ¿Qué pasa con lo que ya tengo desarrollado? Todos dicen que es un entorno cerrado y … -En este punto no pude menos que interrumpirle-

- Pero bueno… vamos a ver… -intenté razonar con mi compañero- ¿Qué conoces de Velneo…?

Y ciertamente, tal y como yo pensaba, mi compañero recitaba de memoria lo que había escuchado y leido, aun cuando no fuera estrictamente cierto.

¿Qué hay de verdad y qué hay de falso?

Vosotros mismos lo vais a juzgar. Os he preparado este pequeño video donde se puede ver el funcionamiento del pluggin vOdbc que ya existía en Velneo, en la V6, y que nos va a permitir conectarnos a cualquier base de datos externas para la que exista un driver ODBC a la misma.

La moraleja que deberíamos obtener tras la visualización del video es que a la postre, no resulta demasiado cierto decir que Velneo, como plataforma de desarrollo, aisla al programador. Desde la V6 y a través de este pluggin podemos conectarnos a cualquier base de datos externa. De hecho, yo mismo he visto desarrollos de compañeros que programan con Visual Basic, y que han podido enlazar una gestion comercial basada en Access y Visual Basic con la plantilla de contabilidad de Velneo, resolviendo de forma sencilla la necesidad que les pudo surgir al serle requerida por la empresa una contabilidad, que por descontado ellos no tenían ni pajolera idea de como hacer, ni tampoco tiempo para experimentos… Por supuesto que tuvieron que recurrir a la IMAGINACIÓN… pero eso nos sucede a todos ¿no os parece? En ese caso concreto bastó crear una serie de procedimientos en Velneo que importaran los datos de las tablas de access, actualizando los codigo contables de las cuentas de clientes, proveedores y generando los asientos asociados a la importación de facturas. Con la ventaja añadida de que ese programador, una vez introducido en el mundo de Velneo, podría modificar esa plantilla para adaptarla a nuevos requerimientos.

Y deciamos que no hay peor mentira que una verdad a medias porque lo realmente cierto es que en la V6 de Velneo existe una limitación que es la que ha dado pie a la referida etiqueta: No podemos acceder desde una aplicación externa a nuestra base de datos de Velneo. Y posiblemente eso, es lo que hace que el programador se sienta inseguro y aislado (desde la optica del desarrollador que se acerca a Velneo desde otros entornos). Yo mismo pensaba así al principio. Sin embargo, cuando conocí la existencia de la V7 y los cambiós importantes que esta nueva versión iba a proporcionar cambió mi forma de verla y la imagen que tenía de ella.

Yo creo que las etiquetas cuando no son ciertas hay que decirlo claramente porque podemos correr el riesgo de despreciar productos que pueden aportar valor añadido a nuestros servicios. ¿Os imaginais contar con una contabilidad, una gestion comercial completa, una gestión de fabricación, que podais incorporarla facilmente a vuestro catálogo de servicios?.

Es mas… y aquí viene lo mas importante:

La V7, va a contar con un API de conexión al vServer de Velneo y podréis conectaros a vuestro servidor de Velneo desde vuestro entorno de desarrollo habitual (Delphi, Visual Basic, etc…), disfrutando de las mismas caracteristicas y beneficios que se obtendrían desde Velneo. En el último seminario sobre V7 se pudo comprobar el estado actual del nuevo driver ODBC que permitirá la conexíon a Velneo y que posee todas las ventajas del vDataClient (otra novedad que ha sido demandada por los programadores de V6) de V7 : caché de datos, acceso a campos objeto, protocolo VATP, sockets envolventes, etc.

Los asistentes al seminario pudieron ver en ejecución una aplicación externa que accedía a los datos del servidor de Velneo. Y si bien faltan algunos detalles, el driver odbc se encuentra bastante avanzado y ya empieza a ser operativo. Quiero decir con esto que no es una conjetura, que es algo que los asistentes al seminario pudieron ver en tiempo real.

Conectividad del driver odbc en la V7

Así que, resumiendo y ya para finalizar, hay etiquetas que deberíamos empezar a quitar y una de ellas es la de que “Velneo aisla al programador…”. Ni era cierto del todo con la V6 y mucho menos de ahora en adelante, con la esperada V7, que nos va a proporcionar conectividad total en ambos sentidos, desde y hacia Velneo.

:-)

Atrévete a conocer Velneo – Parte I

enero 12, 2008 en Artículos, Entrada Diario, Velneo

En esta ocasión, la entrada del blog la ocupa Veneo, pero no tanto pensando en los programadores de esta plataforma de desarrollo, sino mas bien con el pensamiento puesto en los compañeros de Delphi, para los que posiblemente no sea tan conocida. Así que he extraido estos cuatro videos que están presentes en la web de la empresa Velneo y que creo resumen de forma clara, didáctica y visual la mecánica de trabajo.

Los videos forman parte de la página central de información del producto, y representan una mínima expresión de lo que simboliza la enseñanza audivisual en Velneo, parte principal de los seminarios y cursos que se imparten desde la misma empresa. Pero mas que explicarlos, vale la pena que lo valoreis vosotros mismos.

Ya… creo saber qué estais pensando… ¡qué son dos mundos distintos…! ¡y que no tiene nada que ver Delphi y Velneo!
:-)

Pues yo por si acaso los iría visualizando…


Creación y diseño de la base de datos.


Creación de los objetos visuales (I)


Creación de los objetos visuales (II)


Ejecución de nuestra aplicación

Es posible que pronto descubramos que no están tan lejos, y que desde el pequeño mundo de la diosa griega tambien se puede llegar a Velneo…

¡Milagros de la V7! :-)