Главная страница
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.012 c
1-12749
NeshBriges
2003-04-21 11:04
2003.05.05
Загрузка текстового файла


1-12802
Kapitan
2003-04-22 13:34
2003.05.05
обработка строки


3-12629
Hedron
2003-04-15 17:17
2003.05.05
Доступ к системным таблицам Access


3-12641
wowik_c
2003-04-15 17:27
2003.05.05
Запись в базу Memo-поля


3-12636
galexis
2003-04-08 16:28
2003.05.05
Фильтр Query1 по Query2