Вниз
Скачать: CL | DM;

ошибка priveleged instruction   Найти похожие ветки 

← →
Lexaz2005   (2005-09-07 01:40) [0]

Вот такой у меня код:
[CODE=pas]procedure TForm.DBFilterRecord(DataSet: TDataSet; var Accept: Boolean);
var i:integer;
begin
 //DB = Table
 if DB.Filtered=false then exit;
 if DataSet.RecordCount<1 then exit;

 DataSet.First;
 for i:=0 to DataSet.RecordCount-1 do //здесь возникает ошибка
 begin

   Memo.Lines.Add(DataSet.FieldByName("NoteTime").AsString);
   DataSet.Next;

 end;
end;[/CODE]
Применяю фильтр....по идее....эта процедура должна возникать каждый раз при обработке фильтром новой записи......а она возникает только один раз...сколько бы записей не было, подходящих критерию.....поэтому решил сделать цикл по всем записям....и вот где помечено...возникает ошибка "priveleged instruction".... как её избежать?


← →
Digitman ©   (2005-09-07 08:39) [1]


> решил сделать цикл по всем записям


нельзя так делать в обработчике этого события.

в справке есть пример обработки


> if DataSet.RecordCount<1 then exit


это - очевидная несуразность.
раз событие возникло, значит в НД есть как минимум одна запись.


> if DB.Filtered=false then exit;


это - еще одна очевидная несуразность.
событие это никогда не возникнет, если Filtered=false


> она возникает только один раз


значит в НД всего одна запись


← →
Anatoly Podgoretsky ©   (2005-09-07 09:09) [2]

Вот это очень нравится DataSet.Next такая нехилая рекурсия.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.03 c
14-1127459848
Student_2000
2005-09-23 11:17
2005.10.16
Учебные заведения в Донецке


14-1127476705
Prohodil Mimo
2005-09-23 15:58
2005.10.16
Подскажите конфигурацию сервера


3-1125509016
Гость22
2005-08-31 21:23
2005.10.16
Как создать алиас БД Парадокс в пользователя?


1-1127135046
msguns
2005-09-19 17:04
2005.10.16
Выравнивание текста внутри TRect


11-1108223021
mordush
2005-02-12 18:43
2005.10.16
KOL,KOL и ещё раз KOL




   Наверх