Tampoco puede ir ahí
Supongo que si pones
Action := caFree; es porque ese
form lo has creado tú en tiempo de ejecución y tienes que liberarlo, en caso contrario no hace falta.
Pero de todas formas en ese código que has puesto, imagina que
dsUnidadOperativa.Transaction.InTransaction es
False, (que no hay ninguna transacción), ¿qué ocurriría?, que no se ejecutaría el
Action := caFree;
Por lo tanto, debes sacarlo fuera de ese condicionante.
Código Delphi
[-]begin
if dsUnidadOperativa.Transaction.InTransaction then
begin
if Application.MessageBox('Desea GUARDAR los movimientos realizados?','Pregunta',mb_YesNo+mb_IconQuestion)=idYes then
DataModule2.trsCasas.Commit
else
DataModule2.trsCasas.Rollback;
end;
Action:=caFree;
end;