델파이 : onbeforepost 이벤트에서 tdataset.post를 취소합니다
문제
기본 데이터 입력 화면에는 onbeforepost 이벤트에 OK/취소 대화 상자가 있습니다.
- 확인 일이 코스를 수강하게합니다
- 취소 지금은 a
Dataset.Cancel;
의미하는 바를 수행하고 변경 사항을 롤백하고 데이터 세트를 검색 모드로 넣습니다.
이것은 대부분의 고객에게는 괜찮지 만 변경할 수 있는지 묻습니다.
- 취소, 게시물을 중단하고 현재 변경 사항을 유지하면서 편집 모드를 유지하십시오.
취소하려면 취소 버튼을 사용할 수 있습니다.
소스를보고 있습니다 procedure TDataSet.Post;
이런 식으로 이벤트를 사용할 수는 없습니다.
복용량은이 작업을 수행 할 수있는 방법에 대해 생각이 있습니까?
후속 조치 : 이것은 내가 지금 처리하기로 선택한 방법입니다.
case MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo, mbAbort], 0) of
mrYes: ;
mrNo: Dataset.Cancel;
mrAbort: Abort;
mrNone: Abort;
end;
해결책
방법을 호출합니다 Abort
(유닛에서 System
, 내가 올바르게 기억한다면) 침묵을 높인다 EAbort
예외, 현재 작동 만 취소합니다. 작동해야합니다.
(BTW : 데이터 세트 작업을 취소하는이 방법은 도움말 시스템의 깊은 곳 에서이 기술을 달성하는 '정상적인'방법으로 설명합니다.
제휴하지 않습니다 StackOverflow