Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.04;
Скачать: CL | DM;

Вниз

Ошибка   Найти похожие ветки 

 
Tadeush ©   (2002-02-13 12:26) [0]

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


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

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

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


 
Tadeush ©   (2002-02-13 14:43) [2]

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

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

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


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

Так пойдет?

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




 
Tadeush ©   (2002-02-13 15:20) [4]

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


 
McSimm ©   (2002-02-13 15:25) [5]

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

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

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



 
Tadeush ©   (2002-02-13 15:48) [6]

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

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


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

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


 
McSimm ©   (2002-02-13 15:53) [8]

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

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



 
Tadeush ©   (2002-02-13 16:01) [9]

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


 
Tadeush ©   (2002-02-13 16:03) [10]

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



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

Текущий архив: 2002.03.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
4-9327
Fellomena
2002-01-04 12:29
2002.03.04
RichEdit1.SelAttributes.Color := $000FFF; - есть альтернативы для одного символа в строке ?


1-9180
who
2002-02-14 10:05
2002.03.04
Передача параметров из exe в exe


1-9212
Stormick
2002-02-15 00:40
2002.03.04
Ну не ужели никто не знает


4-9334
- Andrew -
2002-01-03 17:46
2002.03.04
Вопрос об идентификации однотипных дочерних окон в


14-9269
mvg_first
2002-01-10 20:32
2002.03.04
Есть ли альтернатива АДО при доступе к MS SQL 2000