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

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

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

12 июл 2004, 14:57

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

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

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

12 июл 2004, 17:10

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

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
Контактная информация:

12 июл 2004, 22:34

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

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

Что делать?

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

12 июл 2004, 23:42

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

13 июл 2004, 11:40

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

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

Begin

Abort;

End;

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

13 июл 2004, 13:47

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

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

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

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

13 июл 2004, 13:49

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

13 июл 2004, 20:03

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

13 июл 2004, 22:52

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