mit
self.moeglichezusatzstoffelistbox.Items.AddObject(Tlisteninhalt(Fzusatzstoffelist.items[i]).Bezeichnung, Tlisteninhalt(Fzusatzstoffelist.items[i]));
fülle ich in einer Schleife eine Listbox aus der
DB.
Mach doch erst mal den obigen Code sauber (unter Verwendung einer Zwischenvariablen):
Delphi-Quellcode:
var
inhalt : Tlisteninhalt;
begin
for i := 0 to .... do
begin
//...
inhalt := Tlisteninhalt(Fzusatzstoffelist.items[i]);
Assert(Assigned(inhalt)); // zur Sicherheit
// hier Breakpoint setzen und nachschauen, was in "inhalt" steht
moeglichezusatzstoffelistbox.Items.AddObject(inhalt.Bezeichnung, inhalt);
...
end;
PS: unter Datei -> Neu... -> Formulare gibt es den
Dialog mit zwei Listenfeldern
Ich würde den Sourcecode studieren und dann abkupfern.
Mir scheint, du hast zwei Listen: MöglicheZusatzstoffe (Quelle )und Zusatzstoffe (Ziel).
Der Benutzer soll dann einige oder alle Stoffe von "links" nach "rechts" ziehen.
Dabei sollen auch die Objekte im Property Objects[] mitgezogen werden.
Genau dies kann der Dialog leisten.
Du liegst richtig mit deiner Vermutung.
Sorry, hatte vergessen zu erwähnen dass das Ganze unter lazarus läuft, da gibts diesen Dialog leider nicht