Der Code wird glaub ich nicht so viel helfen:
(Die Klasse heißt TQuestion)
Delphi-Quellcode:
var I: Integer;
Question: TQuestion;
begin
List:=TCyclicList.Create;
for I:=1 to 10 do
begin
Question:=TQuestion.Create;
Question.Message:='Blubb'+inttostr(I);
Question.Answer1:=inttostr(I);
Question.Answer2:=inttostr(I*2);
Question.Answer3:=inttostr(I*3);
Question.Answer4:=inttostr(I*4);
Question.RightAnswer:=Random(4)+1;
showmessage(IntToStr(Integer(@Question))); //Gibt immer den gleichen Wert aus
List.Add(Integer(@Question));
end;
Ich kann später das ganze dereferenzieren. Ich erhalte allerdings immer die zuletzt erzeugte Instanz. BTW: Die List ist eine von mir entwickelte doppelt verknüpfte, zyklische Liste.