Главная страница
    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
1-9104
Loxly
2002-02-15 20:29
2002.03.04
Как установить текстовый курсор в TMemo в нужную позицию?


4-9343
shur
2001-12-17 22:14
2002.03.04
Как убрать стандартные системные часы


1-9216
DJ X
2002-02-14 16:28
2002.03.04
Подбросте пример кода


1-9206
sammy
2002-02-12 08:31
2002.03.04
прога в ram


3-9068
Questioner
2002-02-06 15:23
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский