Code: Alles auswählen
// Formular mit ein paar buttons, 2 edits und einem Memo,
// dann
type
TMyObject = class(TObject)
a: integer;
s: string;
end;
var i: integer;
...
procedure TForm1.Button3Click(Sender: TObject);
var myob: TMyObject;
ob2: TObject;
j : integer;
begin
myob:= TMyObject.Create;
Myob.a:=StrToInt(edit1.Text);
Myob.s:=edit2.Text;
i := i+1;
j := Memo1.Lines.AddObject('Line '+IntToStr(i), myob);
ob2 := Memo1.Lines.Objects[j];
end;
ob2 sollte ja jetzt gleich myob sein, zeigt aber hartnäckig auf NIL.
mit typecast (ob2 deklariert als TMyObject, dann ob2 := Memo1.Lines.Objects[j] as TMyObject geht genausowenig.
Mach ich hier nen kapitalen Denkfehler, oder ist was anderes Faul???
Lazarus 1.0.8 unter Fedora19.