Einzelnen Beitrag anzeigen

Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#1

JvInspector: "Enum-Item" hinzufügen

  Alt 14. Aug 2005, 03:03
Hallo,
ich habe mich heute mit der JvInspector-Komponente beschäftigt (JVCL 3.0), ein normales String-Item hinzufügen funktioniert mit der Funktion, die ich mir gecoded habe auch wunderbar, allerdings würde ich gerne ein Enum-Item (siehe TJvInspectorEnumItem) zu meinem JvInspector hinzufügen. Leider geht es nicht mal eben mit TJvInspectorEnumItem.Create, man müsste erst ein TJvInspectorVarData-Objekt mit den richtigen Parametern erzeugen (denke ich mal, ist beim Hinzufügen eines String-Items auch so). Nur wie jetzt der TypeInfo von diesem enum wäre, weiss ich nicht (set ist es nicht).

Hier der Code zum erzeugen eines "normalen" String-Items:
Code:
function AddField(eName, eCategory, eValue: String): TJvCustomInspectorItem;
var i: integer;
    eParent: TJvCustomInspectorItem;
    TempVar: Pointer;
begin
  // frmMain ist mein Formular und jviCode der JvInspector
  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;

  if eName <> '' then begin
    New(PString(TempVar));
    PString(TempVar)^ := eValue;
    Result := TJvInspectorVarData.New(eParent, eName, TypeInfo(String), TempVar);
    frmMain.jviCode.Root.Sort;
    eParent.Expanded := True;
  end
  else begin
    Result := nil;
    frmMain.jviCode.Root.Sort;
  end;
end;
Danke im Voraus
Christian
  Mit Zitat antworten Zitat