In der Version 6.53 existiert ein Designfehler im cxGrid, wenn in der Event OnBeforePost eine Messagebox aufgerufen wird
procedure TForm1.dxMemData1BeforePost(DataSet: TDataSet); begin if MessageDlg('save record?', mtConfirmation,mbYesNo,0) <> mrYes then Abort; end;
Der Dialog sollte eigentlich so aussehen:
Durch den Fehler sieht es aber so aus:
Als Workaround wurde mir von DevExpress folgendes empfohlen:
procedure TForm1.dxMemData1BeforePost(DataSet: TDataSet); begin cxGrid1.Perform(WM_SETREDRAW, Integer(false), 0); try if MessageDlg('save record?', mtConfirmation, mbYesNo, 0) <> mrYes then Abort; finally cxGrid1.Perform(WM_SETREDRAW, Integer(true), 0); end; end;Tags: Delphi Delphi 2009 DevGrid