dies hier ist mein erster Post. Ich bin momentan dabei ein Schallplattenverwaltungsprogramm zu erstellen und möchte in einer Combobox die möglichen Zustandsbeschreibungen der Schallplatten (Mint, Very Good, Good, Worn, Fair) speichern... klappt auch. Ich füge aber mittels der Prozedur...
Code: Alles auswählen
procedure TfrmMain.AddSingleStatement(ACaption, AText: String; ACombobox: TComboBox);
var
LObject: TObject;
begin
LObject := TObject(AText);
ACombobox.Items.AddObject(ACaption, LObject);
end;
...auch ein Objekt hinzu. Etwas dirty, aber in einem Fall funktioniert es ja auch. Doch bei den o.g. Beispiel füge ich als Objekt die jeweilige ID aus der Datenbanktabelle hinzu, also: M, VG, G, W, F. Also übergebe ich Praktisch als Beispiel
Code: Alles auswählen
AddSingleStatement('Very Good', 'VG', cbQualityStates)
doch beim Aufrufen von
Code: Alles auswählen
String(cbQualityStates.Items.Objects[cbQualityStates.ItemIndex])
wirft mir Lazarus eine Zugriffsverletzung SIVGSEV....
Sorry, wenn das unklar ausgedrückt ist könnte mir dennoch jemand weiterhelfen? Ich verzweifle! Notfalls gebe ich auch weitere Quellcodeauszüge raus.
Vielen Dank