Un registro queda bloqueado cuando un usuario lo está editando. En este caso lo que puedes hacer, es usar un mensaje para informarlo.
Para bloquear y desbloquear he encontrado esto, pero hasta ahora no he visto bajo que circunstancia funciona (falta de tiempo)
Código:
function TDTM.RegistroBloqueado(Table1 : TTable): Boolean;
var
Blokeado:LongBool;
begin
with Table1 do
begin
UpdateCursorPos;
DbiIsRecordLocked(Handle,Blokeado);
end;
result:=blokeado;
end;
procedure TDTM.ExpulsaUsuario(Table1 : TTable);
begin
with Table1 do
begin
UpdateCursorPos;
try
Check( DbiRelRecordLock(handle,FALSE) );
except
showmessage('No se ha podido expulsar al usuario de la Base de Datos.');
end;
end;
end;
Para informar al usuario de que está bloqueado, mira este hilo, no tiene desperdicio
bloqueados los registros