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

Вниз

Нужна помощь со списком.   Найти похожие ветки 

 
Valentino ©   (2003-04-23 09:34) [0]

Доброго всем дня!

Значит, делаю так:

type Question = record
Vopros: widestring;
Otvets: TStringList;
end;
type Pstr=^Question;
var
Form1: TForm1;
Q: Question;
PQ: Pstr;
List1: TList;
...........


implementation

............
var s:string;

.......
List1:=TList.Create;
New(PQ);
PQ^:=Q;
List1.Add(PQ);
...
PQ^.Vopros:=Memo.Text;
PQ^.Otvets.Add(s);

Последняя строчка, где пытаюсь в StringList добавить, не работает вообще ни как (Access Violation...).
Подскажите, что я не так делаю?

Заранее Спасибо.


 
mrcat ©   (2003-04-23 09:36) [1]

[ TStringList] за Вас кто будет создавать?


 
Skier ©   (2003-04-23 09:47) [2]

>Valentino

Советую :
1) Заменить Vopros: widestring; на Vopros: string;
(если только widestring не используется для каких-то
"хитростей")
2) Объявлять типы по-человечески :
type TQuestion = record
qVopros: string;
qOtvets: TStringList;
end; //TQuestion
PQuestion = ^TQuestion ;
3) Написать потомок TList-а (чтобы св-во Items в нем было типа
PQuestion) - таким образом не придётся приводить типы каждый
раз при обращении к св-ву Items[Index]
4) САМОЕ ГЛАВНОЕ. СОЗДАВАТЬ ОБЪЕКТ qOtvets
т.е. тебе нужно написать так :

New(PQ);
//...........
PQ^.qOtvets := TStringList.Create;

НЕ ЗАБУДЬ ПОТОМ ОСВОБОДИТЬ ОБЪЕКТ qOtvets
PQ^.qOtvets.Free;


 
REA ©   (2003-04-23 10:00) [3]

TQuestion = Class(TStringList)
Private
FQuestionText: String;
Public
Constructor CreateQuestion(aText: String);
End;

TQuestions = Class(TObjectList)
End;

...

Questions.Add(TQuestion.CreateQuestion(Memo.Text));



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
14-12910
VRG
2003-04-17 15:13
2003.05.05
Проекту VRG требуются разработчики на некоммерческой основе


4-12960
Neep
2003-03-04 11:33
2003.05.05
Как создать на API PopUP меню


9-12599
NetBreaker666
2002-08-13 21:40
2003.05.05
Алгоритм рисования огня.


7-12958
crushfm
2003-03-14 09:56
2003.05.05
Харддиск


3-12611
Jack128
2003-04-15 12:51
2003.05.05
ibQuery.ParamByName( My_param ).Value := null; - не работает??