sábado, mayo 05, 2007

Olvídate de los DLLs

En un comienzo, intenté crear la interfase (progress - contpaq i), utilizando el famoso Contpaq i SDK, el cual consiste de unos dlls para ligarse dentro de tu programa, pero al momento de cargar la primera función: dbLogin() en el dbfwin32.dll, se me cerraba el UIB, en realidad, tronaba todo la instancia de progress, por lo cual comenzé a sospechar que no iba a ser posible que progress soportara la forma en que estaba compilado este DLL. Entonces se me ocurrió que se podría crear un archivo de parametros, llamar un pequeño programa hecho en delphi (porque el sdk trae muchos ejemplos desarrollados en ese ambiente), llamarlo mediante DOS SILENT VALUE("xxxx"), que ya he usado anteriormente para llamar al winzip commmand line, con excelentes resultados, y tener resuelto el problema.
Sin embargo, hablando con el buen Ricardo Palau, del equipo de Compac, me recomendó hacer los movimientos directamente en la base de datos, a través de ODBC, (me pregunto porque no me lo habian propuesto antes). Bueno, el chiste es que 12 dias despues de comenzar esta aventura, me salen conque en contpaq i, tienen un daemon checando una tabla para ver a que hora se inserta un registro y disparar rutinas de cálculo de saldos... que delicia... no tendremos que preocuparnos por reprogramar gran parte del contpaq en progress.. que eso si hubiera estado imposible por varios aspectos:
1) no creo que se pudiera acceder al algoritmo de contpaq para afectar todos los registros que se tendrían que crear.
2) sería totalmente impractico volver a programar algo como esa parte de contpaq en progress.
3) si de por sí, así como lo vamos a hacer, la respondabilidad del programador es total para con la integridad de la base de datos de contpaq, que no sería prudente a una compañía como compac, el permitir que los usuarios crearan soluciones de este tipo. Sería un dolor de cabeza de proporciones inmanejables.

Por otro lado, debemos notar que sí tienen en realidad un objeto ocx de tipo .exe para crear la interfase con contpaq i, que sin embargo, no podemos ligar dentro de progress.

Bueno.. dormiré pues son las 2 am, y HOY ES MI CUMPLEAÑOS!!!
Mañana (bueno.. al rato) colocaré aquí unas rutinas de mantenimiento y la especificación de la configuración del ODBC datasource para que lo podamos accesar desde Progress.

1 comentario:

Leonel dijo...

Amigo, despues de tantos años, te acordaras del nombre de las tablas donde poner la informacion? Ocupo hacer algo parecido a lo que describes. De antemano mil gracias.