In realtà hai ragione....Al dataset è associato un eveto AfterPost (ed anche un AfterInsert), ma non mi sembra che ci siano 'Abort' (espliciti intendo)
Cmq ti volevo dire un'altra cosa: nella form in cui effettuo il post che non funziona è definito l'evento FormCloseQuery
codice:
void __fastcall TDDT::FormCloseQuery(TObject *Sender,
bool &CanClose)
{
CanClose=true;
if (modbrw->ImageIndex==37)
return;
//esce dall'editing
TWinControl *LastCtrl;
LastCtrl = ActiveControl;
DefocusControl(ActiveControl,false);
if (DMDDT->tDDT->Modified)
{
String Msg= "Salvare le modifiche effettuate";
int Conferma=MessageDlg(Msg,
mtConfirmation,
TMsgDlgButtons() << mbYes << mbNo << mbCancel,
0);
switch (Conferma)
{
case mrYes :
DMDDT->tDDT->Post();
break;
case mrCancel :
LastCtrl->SetFocus();
CanClose=false;
break;
default :
if(New)
DMDDT->tDDT->Delete();
else
DMDDT->tDDT->Cancel();
}
}
else
if(New)
DMDDT->tDDT->Delete();
}
Questo è il codice che gestisce la form quando la chiudo senza aver salvato...
Come puoi vedere, nel caso in cui confermo con YES effettuo lo stesso POST del caso precedente. In questo caso funziona!!!!
Come mai?