Форум: "Основная";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
ВнизНужна помощь со списком. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c