Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Invalid pointer operation [D7, XP]


Страницы:   1 2 3

uncle benc ©   (2007-02-05 12:32:00) 

Господа, помогите разобраться.
Есть процедура вида:
procedure ClearGrid(var Grid : TGrid);
var i : Integer;
begin
for i:=1 to Grid.RowCount-1 do
  Grid.Rows[i].Clear;
end;


Периодически (не каждый раз), при работе данной процедуры вылетает ошибка указанная в заголовке вопроса.
С чем это может быть связано?


Johnmen   (2007-02-05 14:49:00) [41]


> Elen ©   (05.02.07 14:46) [9]

Спасибо, я знаю о существовании F1.
А что вы хотели сказать? И как это связано с Grid.Rows[i].Clear;?


Elen   (2007-02-05 14:46:00) [42]


> Johnmen

procedure Clear; virtual; abstract;
Introduces an abstract method to emptythe list and any associated objects.


Johnmen   (2007-02-05 14:39:00) [43]

Дык всё ясно. Начинаем делать clear, а это удаление строки (в данном случае), потом индекс i превысил текущее максимальное значение, ведь ты же удалял строки...:)))


Elen   (2007-02-05 14:34:00) [44]


> Может натолкнете на мысль, куда копать?

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


uncle benc   (2007-02-05 14:23:00) [45]

Может натолкнете на мысль, куда копать?


uncle benc   (2007-02-05 13:30:00) [46]

это опечатка.


Desdechado   (2007-02-05 13:25:00) [47]

Объектные переменные всегда по ссылке передаются.
А про грид - это опечатка или намеренное искажение типа?


uncle benc   (2007-02-05 13:05:00) [48]


> Правильный Вася   (05.02.07 12:40) [1]


Value parameters are passed by value, while variable parameters are passed by reference.

что за класс TGrid ?   TStringGrid


> Ega23 ©   (05.02.07 12:44) [2]


Потому что заголовок всегда один и тот-же.

Хотя, какое отношение это имеет к вопросу


Ega23   (2007-02-05 12:44:00) [49]


> for i:=1 to Grid.RowCount-1 do
>   Grid.Rows[i].Clear;


А почему i:=1 to ? Почему не i:=0 to ?


Правильный Вася   (2007-02-05 12:40:00) [50]

зачем varGrid ?
что за класс TGrid ?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо