Ignacio:
Sí, el contro TSwitch hasta donde lo he probado funciona muy bien, pero insisto el problema es que el OnChange se dispara antes de guardar el valor en el campo.
En mi caso, es una pequeño motor de Facturación Electrónica, que está esperando una instrucción por SendWMCopyData de la aplicación principal para que arranque con su trabajo, pero hay varios CheckBox y uno de ellos indica si el proceso es automático o manual para lo cual el DBSwitch quedaría excelente en vista y función.
El registro siempre está en edición y al cambiar el estado de algún CheckBox actualizo el registro en la tabla de MariaDB correspondiente, para que en el inicio arranque igual.
Code: Select all
METHOD DBSwitch1Change( oSender ) CLASS TForm1
::oSQLTable1:Update()
::oSQLTable1:Edit()
RETURN Nil
(Después de guardar, vuelvo a poner en edición)
El problema es que el OnChange se ejecuta antes de que el campo tenga el verdadero valor por lo tanto mi :Update() actualiza la tabla con el valor anterior.
Esperaría el mismo funcionamiento de su antecesor el CheckBox que el OnChange se dispara después de guardar el valor en el campo.
Agrego ejemplo con SQLite