Страница 1 из 1
Предотвратить удаление из TTable?
Добавлено: 12 июл 2004, 14:57
GOS
Как мне кажется нужно что-то написать в обработчике BeforeDelete
Только вот что именно никак не пойму...
надо что-то типа Abort...
Подскажите пожалуйста!
Добавлено: 12 июл 2004, 17:10
Eugie
Код: Выделить всё
procedure TForm1.Table1BeforeDelete(DataSet: TDataSet);
begin
if MessageDlg('Do you want to delete a record?', mtConfirmation, [mbYes, mbNo, mbCancel], 0) <> mrYes then
Abort;
end;
Добавлено: 12 июл 2004, 22:34
GOS
Не воспринимает он Abort;
Пишет: [Error] DMUnit.pas(2027): Statement expected, but expression of type 'Integer' found
Что делать?
PS WINXP+Delphi7+TTable+Paradox
Добавлено: 12 июл 2004, 23:42
Eugie
Пишет: [Error] DMUnit.pas(2027): Statement expected, but expression of type 'Integer' found
Странно. А что у тебя до и после Abort?
Добавлено: 13 июл 2004, 11:40
GOS
Там код для реализации бизнес правил, только дело совсем не в нём
Я попробовал оставить вообще только
Begin
Abort;
End;
И таже ошибка

Добавлено: 13 июл 2004, 13:47
GOS
Моя лень - источник проблемм
Надо указать модуляь...
Begin
...
...
...
SysUtils.Abort;
End;
И все проблеммы!
Добавлено: 13 июл 2004, 13:49
GOS
Всмысле модуль(а не модуляь)

)
Добавлено: 13 июл 2004, 20:03
AiK
GOS, в той же строке, где и твой ник расположен, имеется кнопка с надписью правка. Работает. Проверено.
СЗОТ.
Добавлено: 13 июл 2004, 22:52
Naeel Maqsudov
Моя лень - источник проблемм
Я бы сказал, что конфликт идентификаторов источник проблем!
Лучше правильно выбирать идентификаторы (не переопределяя по возможности идентификаторы видимые в данном модуле). И тогда квалификатор (название модуля, в данном случае) указывать не надо и можно лениться еще больше
