Предотвратить удаление из TTable?

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
GOS
Сообщения: 111
Зарегистрирован: 17 фев 2004, 10:32
Контактная информация:

Как мне кажется нужно что-то написать в обработчике BeforeDelete

Только вот что именно никак не пойму...
надо что-то типа Abort...

Подскажите пожалуйста!
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Код: Выделить всё

procedure TForm1.Table1BeforeDelete(DataSet: TDataSet);
begin
  if MessageDlg('Do you want to delete a record?', mtConfirmation, [mbYes, mbNo, mbCancel], 0) <> mrYes then
    Abort;
end;
GOS
Сообщения: 111
Зарегистрирован: 17 фев 2004, 10:32
Контактная информация:

Не воспринимает он Abort;

Пишет: [Error] DMUnit.pas(2027): Statement expected, but expression of type 'Integer' found

Что делать?

PS WINXP+Delphi7+TTable+Paradox
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Пишет: [Error] DMUnit.pas(2027): Statement expected, but expression of type 'Integer' found
Странно. А что у тебя до и после Abort?
GOS
Сообщения: 111
Зарегистрирован: 17 фев 2004, 10:32
Контактная информация:

Там код для реализации бизнес правил, только дело совсем не в нём :(

Я попробовал оставить вообще только

Begin

Abort;

End;

И таже ошибка :(
GOS
Сообщения: 111
Зарегистрирован: 17 фев 2004, 10:32
Контактная информация:

Моя лень - источник проблемм :)

Надо указать модуляь...

Begin
...
...
...
SysUtils.Abort;
End;

И все проблеммы!
GOS
Сообщения: 111
Зарегистрирован: 17 фев 2004, 10:32
Контактная информация:

Всмысле модуль(а не модуляь) :) )
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

GOS, в той же строке, где и твой ник расположен, имеется кнопка с надписью правка. Работает. Проверено.
СЗОТ.
Даже самый дурацкий замысел можно воплотить мастерски
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Моя лень - источник проблемм :)
Я бы сказал, что конфликт идентификаторов источник проблем!
Лучше правильно выбирать идентификаторы (не переопределяя по возможности идентификаторы видимые в данном модуле). И тогда квалификатор (название модуля, в данном случае) указывать не надо и можно лениться еще больше ;)
Ответить