AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TList generische Liste Fehler beim deklarieren RTTI
Thema durchsuchen
Ansicht
Themen-Optionen

TList generische Liste Fehler beim deklarieren RTTI

Ein Thema von H3llsing · begonnen am 11. Aug 2011 · letzter Beitrag vom 15. Aug 2011
Antwort Antwort
H3llsing

Registriert seit: 12. Nov 2008
96 Beiträge
 
Delphi 2010 Enterprise
 
#1

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 15. Aug 2011, 09:32
Vielen dank,
ich hab die klammern falsch gesetzt
p.GetValue(Tzuordnung.ToString)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#2

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 15. Aug 2011, 09:34
Ist das eine class property? Sonst wäre TZuordnung vermutlich falsch, sondern es muss Zuordnung heißen, der Wert steht ja in der Eigenschaft der Instanz und nicht der Klasse.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
H3llsing

Registriert seit: 12. Nov 2008
96 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 15. Aug 2011, 09:40
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;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#4

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 15. Aug 2011, 09:47
Hast Du es mal mit self versucht?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
H3llsing

Registriert seit: 12. Nov 2008
96 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 15. Aug 2011, 09:52

ja danke.. ich glaub es ist manchmal besser wenn man sich nur auf 1 Projekt konzentriert.
Dann versucht mans nicht mit THIS und wundert sich warums nich geht in delphi ;D


Vielen Dank nochmal an euch beide! Habt mir sehr geholfen mit dem Umgang von Klassen in Delphi!
Das zeigt wiedermal was für nette Comunity das hier doch ist =D

Geändert von H3llsing (15. Aug 2011 um 11:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 15. Aug 2011, 12:22
Ich würde diesen Code übrigens nicht in die Klasse packen, denn damit hast du eine direkte Abhängigkeit auf deine Controlklasse -> nicht gut.

Warum nicht gut? Stell dir vor, du brauchst diese Klasse nur als Datenobjekt in einem Projekt, welches nichts mit Benutzeroberfläche zu tun hat. Dann wird trotzdem die VCL gebraucht.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (15. Aug 2011 um 12:24 Uhr)
  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 15:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz