Gracias Delphius, como siempre muy interesante todo, ya marqué los links para estudiarlos y creo que deberé darle una segunda oportunidad a Zeos, según parece, el tema también es la escasa documentación que hay, además tuve problemas de update, el autocommit no es tan auto... pero puede ser que yo le esté errando en algunas cosas también, no sería extraño, vengo de los .dbf así que es lo más probable...
El bug que encontré, está aquí y lo solucioné haciendo lo contrario a lo que un desarrollador propone. que es poner
ValidateUpdateCount=False
sin comillas, en Properties de las Propiedades del ZQuery. El bug es que en un DBGrid cada x actualización por modificación de datos tiraba un error de que solo se puede hacer una actualización a la vez, pero este error no lo tiraba a la 2da. actualización, sino que lo tiraba a la 4ta, o a la 1ra. o a la 10ma, ahí olfateé que probablemente fuera un bug, Zeos cuenta mal, tiene un problema ahí para ciertos casos, y bueno, ValidateUpdateCount=False no necesita mucha explicación.
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: es\n"
#: printer4lazstrconst.p4lrsadvanced
msgid "Advanced"
msgstr "Avanzado"
#: printer4lazstrconst.p4lrsbanners
msgid "Banners"
msgstr "Banners"
#: printer4lazstrconst.p4lrscancel
msgid "Cancel"
msgstr "Cancelar"
#: printer4lazstrconst.p4lrsend
msgid "End"
msgstr "Fin"
#: printer4lazstrconst.p4lrsgeneral
msgid "General"
msgstr "General"
#: printer4lazstrconst.p4lrslandscape
msgid "Landscape"
msgstr "Horizontal"
#: printer4lazstrconst.p4lrsmargins
msgid "Margins"
msgstr "Márgenes"
#: printer4lazstrconst.p4lrsok
msgid "Ok"
msgstr "OK"
#: printer4lazstrconst.p4lrsorientation
msgid "Orientation"
msgstr "Orientación"
#: printer4lazstrconst.p4lrspagespersheet
msgid "Pages per sheet"
msgstr "Páginas por hoja"
#: printer4lazstrconst.p4lrspapersize
msgid "Paper size"
msgstr "Tamaño del papel"
#: printer4lazstrconst.p4lrspapersource
msgid "Paper source"
msgstr "Fuente del papel"
#: printer4lazstrconst.p4lrspapertype
msgid "Paper type"
msgstr "Tipo de papel"
#: printer4lazstrconst.p4lrsportrait
msgid "Portrait"
msgstr "Vertical"
#: printer4lazstrconst.p4lrsprinterproperties
msgid "Printer properties"
msgstr "Propiedades de la impresora"
#: printer4lazstrconst.p4lrsresolution
msgid "Resolution"
msgstr "Resolución"
#: printer4lazstrconst.p4lrsreverselandscape
msgid "Reverse landscape"
msgstr "Horizontal invertido"
#: printer4lazstrconst.p4lrsreverseportrait
msgid "Reverse portrait"
msgstr "Vertical invertido"
#: printer4lazstrconst.p4lrsstart
msgid "Start"
msgstr "Comenzar"
Ese código corresponde al archivo: printer4lazstrconst.es.po para traducir el diálogo de la ventana de impresión, la segunda ventana precisamente,que puede ir en la carpeta del proyecto junto al resto de las traducciones. Perdón pero no tengo ni idea de como contactar al encargado de esto en Lazarus, hace 2 meses estaba probando el "Hello World"... Los otros dos archivos se encuentran en las carpetas de Lazarus, LCL y LazReport y son lclstrconsts.es.po y lr_const.es.
FerCastro, gracias por la recomendación, aparenta ser un muy buen producto según la web, no tengo nada contra el software pago, de hecho cobro por mi software, pero además de no estar en condiciones económicas adecuadas en este momento, recién estoy empezando a entender el mundo de SQL y sus derivados, sus motores, librerías, paquetes, servidores, layers, transactions y cosas que hasta hace poco para mí era chino mandarín. Cuando entienda bien todo esto, seguro lo pruebo si tiene alguna versión Trial y si lo entiendo y me facilita la vida, lo compro.
Delphius, estoy leyendo esto http://www.mwasoftware.co.uk/ibxy me interesa, es una especie de FireBird"Lite", es un motor SQL de Borland, un manejador de FireBird o estoy entendiendo mal. La última versión salió hace muy poco para Lazarus 1.6 con FPC 3.0 que es justo lo que tengo. Lo has usado? Si es así, es más simple que PostgreSQL que me da la sensación de que es muy bueno pero complicado.
El servidor es un Windows 2008, lo que hay ahí no importa porque sería reemplazado con mi sistema.
Saludos y gracias por su tiempo.
Vaya, eso del DBGrid que te jode no lo he visto... será que es como dicen en ese hilo que afecta cuando se usa UpdateSQL. Yo no lo uso, yo directamente me encargo de tener mis ZQuery e indicarle la SQL, ya sea un INSERT, UPDATE, DELETE, SELECT.
De todas formas tendré presente tu caso.
Eso del pseudo autocommit te entiendo. Tuve la misma impresión... y desconozco si es cosa de jugar con las propiedades y configurarlo bien. Yo de todas formas en base a mis pruebas llegué a la conclusión que es mejor dejarlo a AutoCommit en true y hacer explícitamente el Commit y/o RollBack cuando yo lo necesite (y obviamente iniciar la transacción antes). Ya me he acostumbrado a trabajar así y hasta ahora (cruzo los dedos, y toco madera) no me ha dado sorpresas.
Pensé que el componente al que tradujiste su archivo era uno de terceros. Si es parte de Lazarus creo que lo mejor es preguntar en su foro. Ellos seguro se encargarán del tema o te sabrían asesorar mejor. Desconozco como es que trabajan ellos, si es que tienen a alguien propio dedicado a hacer las traducciones, documentaciones, etc. O si cada colaborador debe hacer ese trabajo.
En Firebird al menos tienen un subequipo que se dedica formalmente a traducir los docs. Eso lo se porque en su momento yo ofrecí mi traducción de los documentos que forman la Commands Lines y me pusieron en contacto con el encargado de la traducción al español (que casualmente es/era Argentino, cordobés si no me equivoco). Al final parece que quedó en la nada, era la época en que estaba saliendo 2.1 y mi docs eran para la 1.5.6 y además me pedían que aprendiera a usar un sistema que ellos usan para hacer la doc. Y no le encontraba la vuelta.
Respecto a IBX para Lazarus (o IBX4Laz por darle una "abreviatura") es una suite de componentes que trabaja de forma similar a SQLdb y está diseñado para conectarse al motor Firebird. No lo he usado en Lazarus, conozco el uso de IBX (el "original") porque lo usaba en Delphi 6. Ahora bien, desconozco que tan similar sea el fork respecto al original.
Para nuevos proyectos tengo pensado probarlo. No quisiera arriesgarme a hacer un cambio de componentes para mi proyecto actual.
En cuanto a motores de base de datos, si me dices que elija uno me voy por Firebird sin dudarlo. Lo he usado en conjunto con D6, y también lo sigo usando ahora para mis proyectos ahora con Lazarus, y más recientemente desde que adquirí Berlin 10.1 Starter edición gratuita también lo usaré (junto a Zeos como suite ya que Starter no viene con componentes de acceso a bases de datos y hay que instalarles los de terceros)
No te digo que elijas a Firebird, pues como he dicho: la elección es un depende. A muchos de nosotros nos encanta Firebird, pero también hay miembros que prefieren PostreSQL, y otros se irán por MySQL o su fork MariaDB.
Lo cierto es que lo que debería hacerse es no casarse con un único motor ni lenguaje. Si, la poligamia con las herramientas informáticas es una tendencia y bien vista. ¿Porqué? Porque si nos aferramos a un único lenguaje, motor, e incluso componentes o bibliotecas nos volvemos muy dependientes de ellos y si en el día de mañana por X motivo se discontinúan será tarde y caro hacer el divorcio.
Ahora, del dicho al hecho... Como he dicho: "debería". En la práctica es más complicado. Uno se siente a cómodo y a gusto con X cosa, lo conoce, sabe lo que se puede hacer y mientras sirva seguirá usandolo.
Por el motor no deberías preocuparte demasiado, después de todo todos aplican SQL. Si es cierto que cada motor adereza el estandar con sus propias cosas. Eso es cosa de leer la documentación. Yo al menos puedo destacar que el equipo de Firebird se encarga de mantener una muy buena documentación al día (en inglés, obviamente) No te sabría decir de otros proyectos Open Source como PostgreSQL o SQLite (1)
(1) No incluyo en la lista a MySQL porque no es realmente Open Source, en realidad su licencia es dual. Aunque también habría que tomar con pinzas el caso de PostgreSQL, hay quienes dicen que en realidad no es tan Open Source (de hecho Firebird le tira sus chascarillo en su frase: The true open source database). Y SQLite si bien es un motor, hay que advertir que es sólo para monousuarios.
Sea el motor que elijas, vas a poder trabajar... ya sea de forma cliente como lo es para Firebird, por vía ODBC como lo es en DB2 por ejemplo, etc.
Saludos,