amable escribió:
Hola, gente como va el verano?
Finalmente estoy migrando a la versión 3, lleva unos controles más estrictos, métodos duplicados que en la v2 no daba problema ahora avisa del error, se soluciona y punto.
Sin embargo tenia puesto un control de comprobar antes de grabar si el registro estaba bloqueado y ahora no funciona.
DO WHILE .NOT. ( lRLock := RLock() )
IF MessageDLG("El registro esta bloqueado", mtConfirmation, mbYesNoCancel) == mrYes
EXIT
ENDIF
ENDDO
IF lRLock
....operación de actualizar el registro
Con la v2 ni se veía la pantalla, ahora siempre aparece como bloqueado, y además la variable lRlock no toma el valor .T. y al pulsar Aceptar, no graba
¿se os ocurre que hago mal?
Gracias
Hola!!!!
Amable, yo NO tengo problemas con las tablas. El trozo de código no parece tener problemas... EXCEPTO si damos por correcto que estas en el área de trabajo correcto.
Yo para los bloqueos utilizo esta función para cada tabla:
// ============================================================================
// BloquearCondicion, 09.06.2013 18:37
// ============================================================================
FUNCTION BloquearCondicion( lMsg ) AS LOGICAL
RETURNIF DbRLock() WITH True
IF_NIL lMsg IS True
IF lMsg
MessageDlg( "IMPOSIBLE BLOQUEAR REGISTRO DE CONDICIONES." + CRLF +;
"Seguramente esté siendo utilizado por otro usuario.", mtError, mbOk )
ENDIF
RETURN False
Y la llamo así:
IF ( waCondiciones )->( BloquearCondicion() )
...
ENDIF
Creo que no necesita explicación.