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

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

Access Violation


Страницы:   1 2

AIK ©   (2009-03-10 08:48:00) 

Здравствуйте Уважаемые.
Не могу понять принцип ошибки «обращения к запрещенной памяти» в данном случае:

procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem;
 Selected: Boolean);
var
 Nom: String;
begin
BEGIN
 nom:= ListView1.Items[ListView1.ItemIndex].Caption;

 If nom='0' then
     Button1.Enabled:= true else
     Button1.Enabled:= false;
END;
end;


Код я уже подправил:

...
If ListView1.SelCount > 0 then
BEGIN

 nom:= ListView1.Items[ListView1.ItemIndex].Caption;
...


Но почему первый вариант выдает ошибку? Ведь итемы ListView’a уже заранее созданы да и ошибка вылетает только со второго клика.


AIK   (2009-03-10 09:11:00) [21]

Может я тебя неправильно понял но вариант:
...
nom:= ListView1.Selected.Caption;
...
тоже самое.


AIK   (2009-03-10 09:07:00) [22]


> нужный пункт тебе в параметрах передается


Так в ItemIndex он и передается


Palladin   (2009-03-10 08:51:00) [23]

Какого фига ты лезешь в ItemIndex? нужный пункт тебе в параметрах передается. И если он был выделен то selected=true, если с него только что сняли отметку о выделении то selected=false


Страницы:   1 2

Наверх

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