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

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

Ошибка


Tadeush ©   (2002-02-13 12:26:00) 

Как перехватить ошибку возникающую при клике на незаполненной области TListView ?


Tadeush   (2002-02-13 16:03:00) [1]

Звиняйте за тупость все сделал. return забыл поставить.
Спасибо за подмогу


Tadeush   (2002-02-13 16:01:00) [2]

Все верно.... все работает... Сообщение выводится. Но после клика на ОК
Винды выдают свое сообщение об ошибке в проекте.


Виктор Щербаков   (2002-02-13 15:53:00) [3]

if (ListView1->Selected == NULL)
{
ShowMessage("Не выбрано");
return;
}


McSimm   (2002-02-13 15:53:00) [4]

В ситуации когда (!G) нельзя попадать на следующую строку.
Си не помню уже, по русски можно?

ЕСЛИ (!G) то {I=-1; ShowMessage("Не выбрано");}
иначе I = ListView1->Selected->Index;


Tadeush   (2002-02-13 15:48:00) [5]

bool G=ListView1->Selected;
if (!G) {ShowMessage("Не выбрано");}
int I = ListView1->Selected->Index;

переделал вот так. При false появляется сообщение а потом ошибка.
и что?


McSimm   (2002-02-13 15:25:00) [6]

> int I = ListView1->Selected->Index;

ListView1->Selected может оказаться равным nil.
В этом случае попытка вызвать
ListView1->Selected->Index
Приводит к ошибке доступа.

Поэтому перед вызовом Selected->Index надо проверить, не равен ли Selected нулю ( nil). Если равен - значит не выбран ни один элемент.


Tadeush   (2002-02-13 15:20:00) [7]

или я дурак или одно из трех
но не понятно


Юрий Зотов (M)   (2002-02-13 14:51:00) [8]

Так пойдет?

with ListView1 do
if Selected = nil then I := -1 else I := Selected.Index



Tadeush   (2002-02-13 14:43:00) [9]

void __fastcall TForm1::ListView1Click(TObject *Sender)
{

int I = ListView1->Selected->Index;
.
.
.
}

Ну примерно так. Правдо это в си. Но все похоже я думаю.


Юрий Зотов (M)   (2002-02-13 12:37:00) [10]

Зависит от Вашего кода. По-видимому, где-то Вы обращаетесь к Selected, а после такого клика он получается nil.

Приведите код, дающий Exception.


Наверх

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