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

Вниз

Внимание! Exception.   Найти похожие ветки 

 
AL2002 ©   (2002-10-11 01:01) [0]

Переменная List1 типа TStrings выдаёт Exception, когда я ей делаю List1.Clear.
С чего бы это?


 
Suntechnic ©   (2002-10-11 01:21) [1]

Ну например переменная List1 ссылается на несуществующий объект типа TStrings. Достаточно весомая причина? А для того чтобы получить нормальный ответ надо хотя бы написать что за Exception. Они ж ведь тоже разные бывают...


 
AL2002 ©   (2002-10-11 01:25) [2]

>Suntechnic © (11.10.02 01:21)
То был глюк. После перезагрузки уже ничего не исключается.
Подлость, слов нет. Я полчаса бился.


 
MBo ©   (2002-10-11 06:50) [3]

Не забыл, что TStrings - абстрактный тип?
Нужно создавать экземпляры класса TStringList


 
AL2002 ©   (2002-10-11 11:03) [4]

>MBo © (11.10.02 06:50)
Как их создавать?


 
Mike_Goblin ©   (2002-10-11 11:17) [5]

var
MyList:TStrings;
begin
MyList:=TStringList.Create;
end;


 
qube ©   (2002-10-11 11:18) [6]

AL2002 © (11.10.02 11:03)
TStringList.Create :)


 
Skier ©   (2002-10-11 11:24) [7]

А вот так ещё круче :)


var
MyList:TStrings;
begin
MyList:=TStringList.Create;
try
//..............
MyList.Clear;
//..............
finally
FreeAndNil(MyList);
end; //try
end;


 
AL2002 ©   (2002-10-11 12:09) [8]

Exception от этого криейта. И до присвоения значения и после.
Ну их в пень.


 
MBo ©   (2002-10-11 12:48) [9]

>AL2002
Покажи код


 
AL2002 ©   (2002-10-11 14:34) [10]

>MBo © (11.10.02 12:48)
Убил я его.

Но там было так (по памяти):

var
List1,List2:TStrings;
Begin
List1:=ListBox1.Items;
List2:=ListBox2.Items;

If List1<>List2 Then ...

//Пробовал If List1.Text<>List2.Text Then ...
//Пробовал и List1.Create. Где только его не ставил.


Наверное, надо, как Скаер сказал:
MyList:=TStringList.Create;
но было уже позно. Но ничего. Я выжил.


 
Skier ©   (2002-10-11 14:41) [11]

>AL2002



var
List1:TStrings;
List2:TStrings;

begin
List1:=TStringList.Create;
List2:=TStringList.Create;
try
List1.Text:=ListBox1.Items.Text;
List2.Text:=ListBox2.Items.Text;
If List1.Text<>List2.Text Then ...
finally
FreeAndNil(List1);
FreeAndNil(List2);
end; //try
end;


 
AL2002 ©   (2002-10-11 14:47) [12]

>Skier © (11.10.02 14:41)
Козырно.


 
Skier ©   (2002-10-11 14:51) [13]

>AL2002
???


 
AL2002 ©   (2002-10-11 14:59) [14]

>Skier © (11.10.02 14:51)
>>AL2002
>???
Да. Это оно.
Теперь хоть буду знать.


Я просто взял, и ListBoxов.Items.Countы проверил.
Зато поумнел. Спасибки. :))


 
Darlock   (2002-10-11 15:23) [15]


var
List1,List2:TStrings;
Begin
List1 :=ListBox1.Items;
List2 :=ListBox2.Items;

If List1.Text<>List2.Text Then ...


тоже должно было бы работать ИМХО...


 
Darlock   (2002-10-11 15:25) [16]

Хотя может и нет, но если подправить

List1,List2 : TStringsList;

то тогда точно заработало бы...


 
qube ©   (2002-10-11 15:28) [17]

Darlock (11.10.02 15:25)
Точно, причем производительность будет выше.


 
AL2002 ©   (2002-10-14 11:01) [18]

>Skier ©
пришлось таки применить. Работает. :))


 
down   (2002-10-14 11:07) [19]

а зачем вообще List1,2?
if ListBox1.Items.Text <> ListBox2.Items.Text then...


 
AL2002 ©   (2002-10-14 11:26) [20]

>down (14.10.02 11:07)
Не в листбоксах дело.


 
down   (2002-10-14 11:28) [21]

2AL2002
Ну извини, извини...


 
Zemal ©   (2002-10-14 11:51) [22]

Вот-с... многие только узнают о существовании классов, реализованных ещё в 5 версии :). Кстати, кто-нибудь в курсе, что есть ещё куча классов в модуле Classes? Кстати, там полно таких полезностей, которые в основном никто не юзает :). Кто знает о существовании классов потомков от TList? Например TObjectList? А ведь он позволяет хранить в своих Items не ссылки на объекты (как это можно реализовать в TStringList), а сами объекты! :) Например теже TStringList-ы :). К сведению: он умеет удалять все объекты в своём массиве и очищать память при своём удалении!!!
Почему-то самый популярный класс TStringList... в основном другое никто неиспользует :(... Наверное, когда 8 делфя выйдет, все бросятся на изучение классов 6 версии :). Прикольно. Кстати, никто не юзал 7 делфю? Не смотрел какие классы там нагромоздили на TStrings, TList и TStream?
Весь форум просмотрел и создалось впечатление, что кроме TStringList, и за некоторым исключением TFileStream и TThread, в Делфи больше классов нет!!! Не интересны общей массе другие полезности :(... а Борландовцы так старались...


 
Anatoly Podgoretsky ©   (2002-10-14 12:49) [23]

AL2002 © (11.10.02 14:34)
В приведенном тобой коде ошибок нет


 
AL2002 ©   (2002-10-14 12:55) [24]

>Anatoly Podgoretsky © (14.10.02 12:49)
Ошибок-то нет. Там ещё нескольких нужных строк тоже нет.


 
Anatoly Podgoretsky ©   (2002-10-14 13:06) [25]

Так ты их приведи


 
AL2002 ©   (2002-10-14 13:16) [26]

>Anatoly Podgoretsky © (14.10.02 13:06)
Дык, Скайер уже привёл. А я про них и не знал.



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

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

Наверх




Память: 0.52 MB
Время: 0.021 c
3-78265
sdram
2002-10-02 17:03
2002.10.24
как задать ключевое поле DataSet -у ?


1-78335
Нуждающийся
2002-10-14 10:10
2002.10.24
Как отследить закрытие приложения если я знаю его имя?


14-78621
DenKop
2002-10-02 22:28
2002.10.24
Бесплатный хостинг с поддержкой CGI!


1-78429
Tihas
2002-10-11 01:30
2002.10.24
Есть ли в Object Pascal friend, как С++


3-78263
NeyroSpace
2002-10-02 12:47
2002.10.24
Есть ли какие-ниб. системные переменные, характеризующие...