Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Вниз

В чем трабла с ListItems не пойму.........   Найти похожие ветки 

 
Senti   (2004-02-04 17:44) [0]

Вод код

-> tmp - тип Record

procedure TForm1.ProcessItems;
var i,j: integer;
s : string;
it : TListItem;
begin
while witems.Count > 0 do
begin
tmp.tip:=witems[0].Caption;
tmp.ip:=witems[0].SubItems[0];
tmp.traf:=witems[0].SubItems[1];
tmp.port:=witems[0].SubItems[2];

j:=0;
while j <= witems.Count-1 do
begin
j:=j+1;


// Здесь происходить ошибка Acces violation.... Отметил стрелочкой

-> if tmp.ip = witems[j].SubItems[0] then
if tmp.tip = witems[j].Caption then
begin
tmp.traf:=IntToStr(StrToInt(tmp.traf)+StrToInt(witems[j].SubItems[1]));
s:=witems[j].SubItems[2];
if pos(s,tmp.port) = 0 then tmp.port:=tmp.port+", "+s;
witems.Delete(j);
j:=j-1;

ShowMessage(witems[j].SubItems[0]);
end;
end;


witems.Delete(0);

it := lv.Items.Add;
it.Caption:=tmp.tip;
it.SubItems.Add(tmp.ip);
it.SubItems.Add(tmp.traf);
it.SubItems.Add("");
it.SubItems.Add(tmp.port);
end;

end;


Никак не пойму из-за чего вылетает ошибка... Причем при первом же вхождении. Если добавить ShowMessage перед той строчкой то работает.... Очень странно


 
Семен Сорокин   (2004-02-04 17:52) [1]

j:= -1;


 
Johnmen   (2004-02-04 17:56) [2]

>Семен Сорокин © (04.02.04 17:52) [1]

И до кучи, в конце

j=witems.Count !!!!!!!!!!!!!!!


 
Senti   (2004-02-04 18:04) [3]

Хм... мне j:=-1 не нужно т.к. идет поиск похожего элемента остальном массиве итемов и начинаться цикл должен с items[1]...
И как это значение влияет j=witems.Count на acess violation !


 
Семен Сорокин   (2004-02-04 18:07) [4]

И как это значение влияет j=witems.Count на acess violation !
а так что:
условие while j <= witems.Count-1 do проходит
//j = witems.Count-1
а дальше ты увеличиваешь счетчик:
j:=j+1;


 
Senti   (2004-02-04 18:07) [5]

когда я добавляю ShowMEssage перед строчкой
if tmp.ip = witems[j].SubItems[0]
все работает... а если без него нет


 
Johnmen   (2004-02-04 18:08) [6]

>И как это значение влияет j=witems.Count на acess violation !

Обращение за границы массива... Описание которого ты не привёл...


 
Senti   (2004-02-04 18:12) [7]

witems : TListItems - массив описанный вначале программы и заполнен данными...
Странно все это.... Ведь если делать ShowMessage(witems[j].SubItems[0]) перед той строчкой все работает и выдает данные... если без него выскакивает Access violation... Read.....



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

Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
1-38958
Andrey V
2004-02-03 20:03
2004.02.13
Минимизация


8-38975
Blacked
2003-10-14 01:37
2004.02.13
Как отследить окончание просмотра файла в TMediaPlayer?


1-38867
Sphinx
2004-02-02 10:46
2004.02.13
Как распечатать график из Chart


3-38719
alekst
2004-01-22 10:54
2004.02.13
выполнение Запроса


3-38752
Skif
2004-01-20 12:55
2004.02.13
dbExpress - как правильно организовать запрос?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский