![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TStringList [D7, WinXP]
ККК © (2004-11-27 13:51:00)Почему когда я пишу код
var
Pr:TStringList;
begin
Pr.Create;
Pr.Free;
end;
у меня выдаётся ошибка,
а когда пишу вот так
var
Pr:TStringList;
begin
Pr:=TStringList.Create;
Pr.Free;
end;
ошибки не выдаётся, а ведь код практически один и то же только написан по разному.
Anatoly Podgoretsky (2004-11-27 14:15:00) [1]Потому что
begin
Pr.Create;
не инициализировано, вот после
Pr:=TStringList.Create;
уже можно делать
Pr.Create;
ККК (2004-11-27 14:00:00) [2]Gero © понял спасибо
Gero (2004-11-27 13:59:00) [3]
> а ведь код практически один и то же только написан по разному.
Нет, код не один и тот же.
А ошибка выдается в первом случае потому что ты делаешь Pr.Create, а Pr у тебя-то равно nil.
То есть по сути ты вызываешь метод еще не существующего объекта.
А во втором случае ты создаешь в памяти объект TStringList, и ассоциируешь его с переменной Pr.
KilkennyCat (2004-11-27 13:56:00) [4]а в ошибке разве не сказано?