Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: 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 вся ветка

Текущий архив: 2005.10.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
2-1126347106
Asprofi
2005-09-10 14:11
2005.10.16
Как перевести число в обратном порядке?


14-1127207416
Ega23
2005-09-20 13:10
2005.10.16
Кто завтра будет на лекции Вирта?


14-1127425578
Eraser
2005-09-23 01:46
2005.10.16
Multicast


2-1125786268
Bes
2005-09-04 02:24
2005.10.16
Скорость.... неужели конструктор так тормозит


14-1127837338
Ученик чародея
2005-09-27 20:08
2005.10.16
Как идет сложение обыкновенных дробей?