TAdvStringGrid - OnEditCellDone does not trigger

Dear Sirs,

I have a problem with event OnEditCellDone in TMS version 10.4.7.
The problem occurred when I've migrated application from Embarcadero C++ Berlin to Alexandria.

In previous version which is currently in production (Berlin), everything worked fine: I have a cell which is "connected" via TFormControlEditLink to a form with several input fields. Inplace editor is used and after form inside cell closes, event OnEditCellDone is fired and I collect input data to a structure and represent data in a cell using mini HTML.

However, in the new TMS version which now works in Alexandria, event is not triggered.

This is a crucial thing for a production, as complete code dealing with forms inside some cells resides in onCellEditDone event (which works OK in Berlin) and I can not migrate to Alexandria.

Note: Event OnEditCellDone is triggered normally when editor type is not of type edCustom and does not use TFormControlEditLink.

Are there any new flags/properties that I must set to enable triggering onEditCellDone after using inplace editor via TFormControlEditLink?

Thanks in advance

We're not aware of issues or changes and I could not reproduce an issue.
See test project:
Project1.zip (6.0 KB)

I've created a simple project and it does not work.

//---------------------------------------------------------------------------
void __fastcall TForm5::AdvStringGrid1GetEditorType(TObject *Sender, int ACol, int ARow,
TEditorType &AEditor)
{
//
if (ACol == 2)
{
AdvStringGrid1->EditLink = FormControlEditLink1;
AEditor = edCustom;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm5::AdvStringGrid1EditCellDone(TObject *Sender, int ACol, int ARow)

{
//
if (ACol == 2)
Label2->Caption = "Col = 2 -> Got it!"; // not triggered
else
{
Label1->Caption = "";
Label2->Caption = "normal cell!";
}
this->Refresh();
}
//---------------------------------------------------------------------------
void __fastcall TForm5::FormControlEditLink1GetEditorValue(TObject *Sender, TAdvStringGrid *Grid,
UnicodeString &AValue)
{
AValue = AdvEdit1->Text; //OK
}
//---------------------------------------------------------------------------
void __fastcall TForm5::FormControlEditLink1SetEditorValue(TObject *Sender, TAdvStringGrid *Grid,
UnicodeString AValue)
{
AdvEdit1->Text = AValue; //OK
Label1->Caption = "geteditor, col = " + IntToStr(Grid->Col); //OK
}
//---------------------------------------------------------------------------

Event OnEditCellDone is not triggered for column 2 (inplace AdvEdit via TFormControlEditLink).

Test was done here on a default grid on the form , v8.6.13.3 from TMS VCL UI Pack v10.7.4.1, i.e. latest release version.

I've done it with advstringgrid 8.6.13.1, TMS UI Pack 10.7.4.0.
Should I try it with latest version?

Yes.
From the version history of v10.7.4.1:

Fixed : Issue with OnEditCellDone for custom inplace editors in TAdvStringGrid

I'll download and install latest version and let you know.
Thanks a lot.

Done. It works as supposed.
Thanks again