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

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

Помогите найти ошибку, пожалуйста...


Страницы:   1 2

Randew ©   (2008-06-01 01:26:00) 


 TNode = record
   //  ...
   Next: PNode;
   Prev: PNode;
 end;

 TList = class
 private
   head: PNode;

 public
   procedure add(const Person: TPerson);
   constructor create;
 end;

implementation

constructor TList.create;
begin
 head := nil;
end;


В строке head := nil; Access Violation.

Что я не так делаю?


{RASkov}   (2008-06-01 08:53:00) [1]

> [24] Randew   (01.06.08 02:29)
> > Читай букварь.
>
>
> Поздно уже! =)

И в самом деле так думаешь?
Тогда ты безнадежен....
Никогда не читай ничего.... вечно побирайся, попрошайничай.... это твоя участь...
:о)


Умищ   (2008-06-01 02:29:00) [2]


> Randew   (01.06.08 02:28) [22]
> > list := TMyList.Create;Спасибо, Вам бы голубой значок
> =)


Нет, спасибо. Лучше изучай Delphi-)


Randew   (2008-06-01 02:29:00) [3]


> Читай букварь.


Поздно уже! =)


redlord   (2008-06-01 02:29:00) [4]

list := list.Create
lкак все запущено
list := Tmylist.Create;


Randew   (2008-06-01 02:28:00) [5]


> list := TMyList.Create;


Спасибо, Вам бы голубой значок =)


Плохиш   (2008-06-01 02:27:00) [6]


>  list := list.Create; // - тут ошибка!

Читай букварь.


Умищ   (2008-06-01 02:26:00) [7]


>  list := list.Create; // - тут ошибка!


list := TMyList.Create;


Умищ   (2008-06-01 02:26:00) [8]


> Randew


Как сказал Плохиш, TList - уже есть класс в VCL, поэтому тебе придется внимательно следить за тем, как ты используешь свой класс.
Либо вставлять везде префикс Unit2.TList..., либо в секцию Uses вставлять свой модуль первым.


Randew   (2008-06-01 02:25:00) [9]


> >  TList = classЭто название класса уже используется в vcl.
> > Randew   (01.06.08 02:03) [9] И где использование этого
> класса?


Изменил имя класса.
Пример использования:
var
 list: TMyList;
...
 list := list.Create; // - тут ошибка!


Randew   (2008-06-01 02:20:00) [10]


> Ты этим гордишься?


Нет, мне очень жаль, исправлюсь при первой же возможности =)


Плохиш   (2008-06-01 02:18:00) [11]


> Randew   (01.06.08 02:04) [11]
> Ну не читал я букварь ещё.

Ты этим гордишься?


Плохиш   (2008-06-01 02:16:00) [12]


>  TList = class

Это название класса уже используется в vcl.

> Randew   (01.06.08 02:03) [9]

И где использование этого класса?


Умищ   (2008-06-01 02:16:00) [13]


> redlord   (01.06.08 02:08) [13]
> в свое время проводил замер скорости прохода от начала до
> конца (30000 записей) Tstrings  и подобной структуры type
> PNode = ^TNode; TNode = record   Data: string;   Next: PNode;
>    Prev: PNode; end;почемуто Tstrings окозался быстрее


Потому что реализован как нужно.


redlord   (2008-06-01 02:08:00) [14]

в свое время проводил замер скорости прохода от начала до конца (30000 записей) Tstrings  и подобной структуры
type
PNode = ^TNode;

TNode = record
  Data: string;
  Next: PNode;
  Prev: PNode;
end;
почемуто Tstrings окозался быстрее


Умищ   (2008-06-01 02:05:00) [15]


> Я все прошу указать на ошибку, разве так сложно?


Ну нет у тебя в приведенном коде ошибки.
Воспользуйся пошаговым отладчиком.


Randew   (2008-06-01 02:04:00) [16]


> Я, лично вижу. Поскольку читаю [0] и понимаю, что букварь
> не читал.


Ну не читал я букварь ещё. Ну что мне теперь убиться??
Я все прошу указать на ошибку, разве так сложно?


Умищ   (2008-06-01 02:03:00) [17]


> Германн ©   (01.06.08 02:01) [8]
> > Randew   (01.06.08 01:57) [6]> > > > Ты ответь на [2].
> > > > А где в [2] Вы видите вопрос?> Я, лично вижу. Поскольку
> читаю [0] и понимаю, что букварь не читал


Хм. А конкретнее?


Randew   (2008-06-01 02:03:00) [18]

unit Unit2;

interface

type
 PNode = ^TNode;

 TNode = record
   Data: Integer;
   Next: PNode;
   Prev: PNode;
 end;

 TList = class
 private
   head: PNode;

 public
   procedure load;
   procedure save;
   function isEmpty: Boolean;
   constructor create;
 end;

implementation

constructor TList.create;
begin
// head := nil;
end;


Я думаю этого должно быть достаточно...


Германн   (2008-06-01 02:01:00) [19]


> Randew   (01.06.08 01:57) [6]
>
>
> > Ты ответь на [2].
>
>
> А где в [2] Вы видите вопрос?
>

Я, лично вижу. Поскольку читаю [0] и понимаю, что букварь не читал.


Умища   (2008-06-01 01:58:00) [20]


> Randew   (01.06.08 01:52) [4]
> Закоментировал  head := nil; Всё равно ошибка в конструкторе.
>


Недостаточно информации.
Нужен весь модуль.


Страницы:   1 2

Наверх

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