Главная страница
    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
3-38704
Bless
2004-01-22 11:00
2004.02.13
Как сделать, чтобы вся логика работы с таблицей выполнялась в хп


1-38807
Layner
2004-02-03 08:36
2004.02.13
Подскажите, как


1-38820
Merlot
2004-02-03 08:35
2004.02.13
Закрывание программы.


4-39142
Aleksandr
2003-12-11 10:43
2004.02.13
Как получить информацию о видеокарте?


3-38700
Pat
2004-01-25 00:37
2004.02.13
Строка подключения





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский