Hmm der Code funktioniert gut, allerdings versuche ich mir jetzt eine neue Funktion zu machen, die wie die AddField() im ersten Post werden soll, nur dass sie eben ein TSelectionTextList-Item adden soll... Hinzufügen geht auch ohne Probleme, wenn allerdings mehr als 2 Items davon mit der Funktion erstellt worden sind, sind die DisplayValues gleich und ändern sich auch wieder zu ein und dem selben Wert
Hier der Code:
Delphi-Quellcode:
function AddCombo(eName, eCategory, eValue: String; eValues: array of string): TJvCustomInspectorItem;
var i: integer;
eParent: TJvCustomInspectorItem;
eFound: Boolean;
begin
// erst checken ob die kategorie schon existiert und wenn nicht hinzufügen...
eParent := nil;
for i := 0 to frmMain.jviCode.Root.Count -1 do begin
if (frmMain.jviCode.Root.Items[i].DisplayName = eCategory) and (frmMain.jviCode.Root.Items[i] is TJvInspectorCustomCategoryItem) then
eParent := frmMain.jviCode.Root.Items[i];
end;
if eParent = nil then begin
eParent := TJvInspectorCustomCategoryItem.Create(frmMain.jviCode.Root, nil);
eParent.DisplayName := eCategory;
end;
// item hinzufügen
if eName <> '' then begin
FMyList := TSelectionTextList.Create;
eFound := False;
for i := 0 to High(eValues) do begin
FMyList.Add(eValues[i]);
if eValues[i] = eValue then
eFound := True;
end;
if not eFound then
FMyList.Add(eValue);
FMyList.SelectedText := eValue;
Result := TJvInspectorVarData.New(eParent, eName, TypeInfo(TSelectionTextList), @FMyList);
frmMain.jviCode.Root.Sort;
eParent.Expanded := True;
end
else begin
Result := nil;
frmMain.jviCode.Root.Sort;
end;
end;
Was mache ich falsch?
Danke im Vorraus