Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при компилирование программы – связанная с Tstrings. [D7, 2000]


angelikas ©   (2005-11-18 19:09:00) 

У меня появляется ошибка при обращении к типу Tstrings следующего содержания:
Project Project1.exe raised exception class EAccessVialation with message
'Access vialation at address 0044D94B in module 'Project1.exe'. Read of address 00000000'. Process stopped. Use Step or Run to contibue.

Может я чего-то неправильно делаю в с в своей программе , или это внутренняя ошибка ДЕЛФИ, т.к когда я обращаюсь к компоненту TlistBox у которого свойства Items типа Tstrings работает все нормально .(Моя версия Delphi: Borland Delphi 7.0 (Build 4.453) )
var
 Form1: TForm1;
 slist:Tstrings;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i :shortint;
begin
slist.Clear;
for i:=1 to 10 do
 begin
 slist.Strings[i]:='borland';
 end;

end;

Объясните, пожалуйста в чем дело.


Ega23   (2005-11-18 19:20:00) [1]


> У меня появляется ошибка при обращении к типу Tstrings следующего
> содержания:
> Project Project1.exe raised exception class EAccessVialation
> with message
> 'Access vialation at address 0044D94B in module 'Project1.
> exe'. Read of address 00000000'. Process stopped. Use Step
> or Run to contibue.
>
> Может я чего-то неправильно делаю в с в своей программе
> , или это внутренняя ошибка ДЕЛФИ, т.к когда я обращаюсь
> к компоненту TlistBox у которого свойства Items типа Tstrings
> работает все нормально .(Моя версия Delphi: Borland Delphi
> 7.0 (Build 4.453) )
> var
>  Form1: TForm1;
>  slist:Tstrings;
> implementation
>
> {$R *.dfm}
>
> procedure TForm1.Button1Click(Sender: TObject);
> var i :shortint;
> begin
> slist.Clear;
> for i:=1 to 10 do
>  begin
>  slist.Strings[i]:='borland';
>  end;
>
> end;
> Объясните, пожалуйста в чем дело.
>


1. TStrings - не тип, а абстрактный класс. Он не может иметь экземпляров. Используй, например, TStringList.
2. Прежде чем использовать класс, его надо создать.
3. Прежде чем обращаться к 10-му элементу списка, его надо добавить в список.


Наверх

Титульная страница Поиск, карта сайта Написать письмо