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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
7-9305
Dennis S
2001-11-06 10:45
2002.03.04
Как работать с модемом и СОМ портами, точнее как...


1-9150
Loxly
2002-02-17 14:22
2002.03.04
Выношу часть функциональности проги в DLL, но размер EXE шника НЕ УМЕНЬШАЕТСЯ.


3-9072
SGrigory
2002-02-06 12:00
2002.03.04
Про глюки в индексах Paradox


1-9240
romulas
2002-02-15 18:20
2002.03.04
Help!!!


1-9185
fag2000@ok.ru
2002-02-14 13:59
2002.03.04
Файлы отображаемые в память





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