hey DPs,
Ich brauch eure Hilfe.
Ich will 2 werte (Strings) in eine Liste speichern, da dachte ich an eine Objectlist mit einem Objekt mit den 2 Strings gespeichert werden.
Wenn ich die wieder auslesen sind keine werte drin?
Delphi-Quellcode:
type
tstrl = class
private
s1,s2:string;
procedure clear;
end;
...
var
objectlist:TObjectList;
strl:Tstrl;
implementation
{$R *.dfm}
//strl ---------------------
procedure tstrl.clear;
begin
with self do begin
s1:='';
s2:='';
end;
end;
//strl -------//////--------
procedure TForm1.FormCreate(Sender: TObject);
begin
objectlist:=TObjectList.Create(true);
strl:=tstrl.Create;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
strl.s1:=edit1.Text;
strl.s2:=edit2.Text;
objectlist.Add(strl);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
edit3.Text:=Tstrl(objectlist.items[strtoint(edit5.text)]).s1;
edit4.Text:=Tstrl(objectlist.items[strtoint(edit5.text)]).s2;
{ das habe ich auch probiert:
strl:=Tstrl(objectlist.items[strtoint(edit5.text)]);
edit3.Text:=strl.s1;
edit4.Text:=strl.s2;
}
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
strl.Free;
objectlist.Free; // <-- ungültiger Zeigeroperator
end;
am ende kommt noch ein schöner Ungültiger Zeigeroperator aber woran liegt das?
2 Fragen:
a) keine werte werden ausgelesen (keine fehlermeldung)
b) Ungültiger Zeigeroperator beim freigeben der Objectlist
Ich danke im voraus
MfG
Chefx