确实这是一个非常有趣的错误:) 我有一个继承自基本表单的子表单。 基本形式提供各种虚拟;抽象;儿童使用的服务。 这个表单使用了所有这些表格:)其中一个服务是保存/取消系统,它以这种方式编码为基本形式:
procedure TBaseRecordFrm.ConfirmSave(AVal: Boolean); begin if AVal then PerformSave else PerformCancel; Close; end;
继承的表单非常简单:在Ok和Cancel按钮中使用适当的参数(True / False)调用ConfirmSave。 这两种方法的代码非常简单:
procedure TActionFrm.PerformCancel; begin if DMMain.CDSActionItems.State in dsEditModes then DMMain.CDSActionItems.Cancel; end; procedure TActionFrm.PerformSave; begin if DMMain.CDSActionItems.State in dsEditModes then DMMain.CDSActionItems.Post; end;
按“取消”时,我收到“特权指令”例外。 就我所见,我并没有做任何壮观的事情。 有人可以解决一些问题吗? :)
谢谢!
安德烈