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

Вниз

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

 
Randew   (2008-06-01 01:26) [0]


 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.

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


 
redlord   (2008-06-01 01:45) [1]

какой тип у PNode ?
при
type pnode = Pstring;
код рабочий .
вот тока зачем в конструкторе nilить переменную понять не могу она и без этого либо 0 либо nil  в зависимости от типа


 
Умища   (2008-06-01 01:46) [2]

Не читаешь букварь. А в остальном всё правильно.


 
Randew   (2008-06-01 01:50) [3]


PNode = ^TNode;


 
Randew   (2008-06-01 01:52) [4]

Закоментировал  head := nil; Всё равно ошибка в конструкторе.


 
Германн ©   (2008-06-01 01:55) [5]


> Randew   (01.06.08 01:50) [3]

На [1] ты ответил. Хотя [1]- весьма глупый.
Ты ответь на [2].


 
Randew   (2008-06-01 01:57) [6]


> Ты ответь на [2].


А где в [2] Вы видите вопрос?


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


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


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


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


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

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


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

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:03) [10]


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


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


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


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


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


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


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


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


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

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

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


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


>  TList = class

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

> Randew   (01.06.08 02:03) [9]

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


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


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


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


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


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

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


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


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


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


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


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


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


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


> Randew


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


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


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


list := TMyList.Create;


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


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

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


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


> list := TMyList.Create;


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


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

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


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


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


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


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


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


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


 
{RASkov} ©   (2008-06-01 08:53) [26]

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

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



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

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

Наверх




Память: 0.52 MB
Время: 0.181 c
11-1190376210
misha_shar
2007-09-21 16:03
2008.06.29
Вызов ExeL


2-1212150966
Mozgan
2008-05-30 16:36
2008.06.29
Memo и SMTP


2-1212148738
abhtr
2008-05-30 15:58
2008.06.29
Перекрасить строку в TMemo


2-1212251656
assassin8899
2008-05-31 20:34
2008.06.29
deletefile


2-1212331409
snake-as
2008-06-01 18:43
2008.06.29
Использовать слово из TWebBrowser