Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by mirage228,
22. Aug 2009
Zeig doch mal den Code, wo das ContactForm aus das Contact-Objekt zugreift. Wie ich aber schon schrieb ist meiner Ansicht nach "CurrentContactIndex" im Fall einer gefilterten Liste falsch, da der Listen-Index(!) nicht auf das richtige Objekt in ContactCollection zeigt (den Du ja auch dem ContactForm übergibst).
Viele Grüße
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by mirage228,
22. Aug 2009
Ich meine dein "ContactCollection" Objekt, sorry falls das undeutlich war.
Ist TContact(lbContacts.Items.Objects) denn das richtige Objekt? Es müsste es auf jeden Fall sein, aber die von mir zitierten Code-Zeilen fand ich bedenklich, da diese eine Verbindung von lbContacts.ItemIndex und ContactCollection suggerieren. Verwendest Du diese beiden Elemente zusammen in einer gefilterten Liste passt...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by mirage228,
22. Aug 2009
ContactForm.ContactList := ContactCollection;
ContactForm.CurrentContactIndex := lbContacts.ItemIndex;
Der Index in der Original-Collection stimmt garantiert nicht mehr, wenn die Collection gefiltert ist. Du musst Ihn über IndexOf() (falls vorhanden) neu bestimmen. :)
Oder du speicherst beim Filtern im Objekt des Listeintrages nur den Original-Index ab, damit könntest Du das auch lösen.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by mirage228,
22. Aug 2009
Wie greifst Du im OnClick denn auf das Objekt zu?
Ansonsten kann ich in der bisherigen Vorgehensweise keinen Fehler sehen...