AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TRakObjectInspectorGrid - Reihen erzeugen?
Thema durchsuchen
Ansicht
Themen-Optionen

TRakObjectInspectorGrid - Reihen erzeugen?

Ein Thema von I.A · begonnen am 28. Mär 2009
Antwort Antwort
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#1

TRakObjectInspectorGrid - Reihen erzeugen?

  Alt 28. Mär 2009, 18:00
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz