Hallo,
Ich versuche seit einigen Tagen die Zeilen des Objektinspektors zu erzeugen komme aber nicht weiter.
Das hier:
Delphi-Quellcode:
for Index := 0 to FPropertiesToEdit.Count-1 do
case TTypeObject(FPropertiesToEdit.Objects[Index]).PropKind of
tkInteger:
begin
FIntegerEdit := TRakOIEdit.Create(self);
FIntegerEdit.Caption := FPropertyToEdit[Index];
FIntegerEdit.Top := Index * FIntegerEdit.DefaultRowHeight;
FIntegerEdit.Visible := true;
//FBaseRow.AddChildRow(TRakClassOIRow(FIntegerEdit))
FIntegerEdit.ParentRow := FIntegerEdit.GetActiveRow;
FIntegerEdit.Parent := self;
end; //InsertIntegerEdit(ieInteger);
tkChar:
begin
FStringEdit := TRakOIEdit.Create(self);
führt leider nicht zum Erfolg.
Der Konstruktor sieht so aus:
Delphi-Quellcode:
constructor TCustomOInspector.Create(AOwner: TComponent);
begin
inherited Create(Aowner);
RtrEditorBaum := TRakTree.Create(AOwner);
{
RtrEditorBaum.Align := alTop;
RtrEditorBaum.Height := 100;
RtrEditorBaum.Parent := self;
}
FPropertyToEdit := TStringList.Create;
FBaseRow := TRakOIGroup.Create(AOwner); //Laut Kurzbeschreibung in den Quellen des
FBaseRow.Visible := false; //Objektinspektors muss eine Basisreihe als Wurzel
FBaseRow.Expanded := true; //angelegt werden, an die alle anderen Reihen
FBaseRow.Parent := self; //angehängt werden. Hier ist diese Basisreihe
MmoEvents := TMemo.Create(AOwner); //ausgelöste Ereignisse anzeigen zum Test
//Ereignisse zuweisen
end;
Wie geht es danach weiter. Bei Verwendung der in der Objektinspektorklasse definierten Methoden zum Erzeugen der Reihen erhalte Ich EAccessviolation. Vermutlich fehlt die Verbindung zur Basisreihe. Wie kriege ich die Reihen in den Objektinspektor.
Sollte etwa der
Jedi-Objektinspektor doch einfacher zu programmieren sein?
Wenn ich diese Zeile weglasse:
FIntegerEdit.ParentRow := FIntegerEdit.GetActiveRow;
und außerdem:
FIntegerEdit.Top := Index * FIntegerEdit.DefaultRowHeight;
hinzufüge wie jetzt oben im Quelltext auch, dann erhalte ich die Reihen erst mal, aber die Steuerung durch die schon realisierten Methoden im Objektinspektor geht mir dabei verloren.
So habe ich dann auch keinen Vertikalen Scrollbar und kann Eigenschaften, die im Bild nicht mehr darstellbar sind auch nicht bearbeiten.
Wer hat mit TRakObjectinspectorgrid schon gearbeitet und kann mir helfen. Meine derzeitige Lösung sehe ich als Workaround, weil ich mit den Einfügemethoden des
OI nicht weiter komme.