![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Invalid pointer operation [D7, XP]
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 ?