En nuestra pantalla principal de entrada de datos, tenemos un cuadro de diálogo Aceptar/Cancelar en el evento OnBeforePost.Delphi: cancelando un TDataSet.Post en un evento OnBeforePost
- OK deja que las cosas sigan su curso
- Cancelar ahora hace un
Dataset.Cancel;
cual hace lo que se supone que, deshacer los cambios y pone el conjunto de datos en modo de exploración.
Esto está bien para la mayoría de los clientes, pero se nos ha preguntado si se puede cambiar a
- Cancelar, abortar el mensaje y permanecer en el modo de edición con los cambios actuales guardado.
Si desean cancelar, pueden usar el botón cancelar.
Al buscar en la fuente procedure TDataSet.Post;
no parece posible utilizar el evento de esta manera.
Dosis ¿alguien tiene alguna idea de cómo se podría hacer esto?
Seguimiento: esta es la forma que he elegido para manejarlo ahora
case MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo, mbAbort], 0) of
mrYes: ;
mrNo: Dataset.Cancel;
mrAbort: Abort;
mrNone: Abort;
end;
Gracias, eso funciona bien. parece un poco un hack. Pero la cancelación de un mensaje es un poco hack para estar con –
Estoy de acuerdo en que se siente como un truco, pero definitivamente no es (o al menos se supone que es así). Ver los documentos: tinyurl.com/pxjuqs Y en realidad, creo que cancelar una publicación también es perfectamente sensato :) – onnodb