Die Objects sind genau für solche Fälle gedacht ! Aber so muss der Typ aussehen :
Delphi-Quellcode:
TMitarbeiterinfo = class(TObject)
Adresse:String
Telefon:String;
...
end;
Die Delphi-Hilfe sagt noch das :
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := 0 to PageControl1.PageCount - 1 do
ComboBox1.Items.AddObject(PageControl1.Pages[i].Name,
PageControl1.Pages[i]);
ComboBox1.ItemIndex := 0;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if (Sender is TComboBox) then
with (Sender as TComboBox) do
PageControl1.ActivePage := TTabSheet(Items.Objects[ItemIndex]);
end;
Das lässt sich 1:1 auf TListBox anwenden. Aber Achtung mit den Objects ! Da wird Speicher angefordert und der sollte auch wieder weg.
Noch ein Verweis auf die Delphi-Hilfe :
Zitat:
Mit der Methode AddStrings lassen sich die String-Einträge eines anderen TStrings-Objekts zu einer String-Liste hinzufügen. Wenn beide TStrings-Objekte Strings mit zugeordneten Objekten unterstützen, werden mit den Strings auch die zugehörigen Objekt-Referenzen übertragen.
Brauche bei meinen Objects auch reals usw. Bei Strings scheint das noch einfacher zu gehen.