nein ist keine Klassen-Property also Instanz.
Aber das ganze ist eine Procedure der Klasse Tzuordnung und ich möchte auf die momentane Instanz zugreifen.
mit Tzuordnung krachts beim 2ten durchlauf und bei Zuordnung sagt er undefinierter bezeichner
Hier die Procedure
Sie fügt die bereits gesetzten Verbidungen aus der
DB in die Tvs als Unterknoten ein.
Delphi-Quellcode:
procedure TZuordnung.ladeVerbindungen(TV_ZO,TV_DB:ttreeview);
var
MyIterator : TStringDivideIterator;
i: Integer;
ctx: TRttiContext;
t: TRttiType;
f: TRttiField;
p: TRttiProperty;
ParentNode : Ttreenode;
CNode : Ttreenode;
ndx :integer;
begin
ndx := 0;
ParentNode := TV_DB.Items.GetFirstNode;
t := ctx.GetType(TypeInfo(Tzuordnung));
if Assigned(t) then
begin
for p in t.GetProperties do
begin
if p.Visibility in [mvPublic..mvPublished] then
begin
MyIterator := TStringDivideIterator.Create;
try
MyIterator.Pattern := ';';
MyIterator.Text := p.GetValue(Tzuordnung).ToString;
While MyIterator.MoveNext do
begin
if(ndx > 3)then
begin
CNode := TV_DB.Items.AddChildObject(ParentNode,MyIterator.CurrentStr,nil);
CNode.ImageIndex := -1;
CNode.SelectedIndex := -1;
//hier noch andern baum adden
for i:=0 to TV_ZO.items.count-1 do
if TV_ZO.Items.Item[i].Text=MyIterator.CurrentStr then
begin
CNode := TV_ZO.Items.AddChildObject(TV_ZO.Items.Item[i],ParentNode.Text,nil);
CNode.ImageIndex:=-1;
CNode.SelectedIndex := -1;
CNode.Parent.ImageIndex := 1;
end;
ParentNode.ImageIndex := 1;
ParentNode.SelectedIndex := 2;
end;
end;
if(ndx > 3)then
ParentNode := ParentNode.getNextSibling;
finally
MyIterator.Free;
end;
inc(ndx);
end;
end;
end;
TV_ZO.FullExpand;
TV_db.FullExpand;
end;