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

  Alt 11. Aug 2011, 14:18
Vielen Dank @Stevie

Genau sowas habe ich Gesucht!
Funktioniert einwandfrei =)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 11. Aug 2011, 15:44
Wieso macht du eigentlich aus TZuordnung keine Klasse?
Du hast ja wahrscheinlich Prozeduren/Funktionen, die mit den Inhalten von TZuordnung arbeiten.
Grundlage von OOP ist ja, dass Daten und Programmcode der mit diesen Daten arbeitet zu einem "Paket" zusammengeschnürt werden und das ist eben eine Klasse.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#3

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 11. Aug 2011, 23:17
Wieso macht du eigentlich aus TZuordnung keine Klasse?
Du hast ja wahrscheinlich Prozeduren/Funktionen, die mit den Inhalten von TZuordnung arbeiten.
Grundlage von OOP ist ja, dass Daten und Programmcode der mit diesen Daten arbeitet zu einem "Paket" zusammengeschnürt werden und das ist eben eine Klasse.
Das geht in vielen Fällen genausogut mit Records und man spart sich das Erzeugen und Freigeben. Ich glaube allerdings noch nicht mit Delphi 5...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
H3llsing

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

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 12. Aug 2011, 08:19
OOP ist mir schon geläufig aber genau wie Uwe es schon gesagt hat, geht es in meinem Fall nur mit dem Record besser =)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 12. Aug 2011, 09:33
...geht es in meinem Fall nur mit dem Record besser =)
Bist du sicher?
Die drei Punkte in deinem Record deuten ja an, dass es dort noch mehr Daten gibt.
Bei sehr kleinen Records, z.B. nur x,y,z-Koordinaten, hat ein Record absolut seine Berechtigung.
Wenn es aber mehr Daten werden, dann muss es zwangläufig auch mehr Code geben, der mit den Daten arbeitet.
Das verlangt dann nach einer Klasse.
Ich muss nur immer wieder feststellen dass selbst altgediente Hasen manchmal nicht beweglich genug sind vom Record auf eine Klasse zu wechseln.
Sehr häufig wird auch der Fehler begangen, dass der Record quasi identisch ist mit der Struktur, mit der Daten geladen & gespeichert werden.
Damit wird aber die Veränderung der Software stark behindert.
Bei einer Klasse gäbe es dagegen die Methoden LoadFromStream() und SaveToStream().
So kann die interne Repräsentation der Daten effektiv von der externen Repräsentaion auf einem Speichermedium entkoppelt werden.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.055 Beiträge
 
Delphi 12 Athens
 
#6

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 12. Aug 2011, 10:08
Bei einer Klasse gäbe es dagegen die Methoden LoadFromStream() und SaveToStream().
Bei einem Record genauso, wenn man das möchte.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#7

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 12. Aug 2011, 11:11
Ich muss nur immer wieder feststellen dass selbst altgediente Hasen manchmal nicht beweglich genug sind vom Record auf eine Klasse zu wechseln.
Und ich muss immer wieder feststellen, daß manche Hasen nicht beweglich genug sind, die Techniken neuerer Delphi-Versionen einzusetzen. Dazu gehören, neben einer Fülle anderer Dinge, auch Methoden in Records.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
H3llsing

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

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 12. Aug 2011, 13:45
OOP ist mir schon geläufig aber genau wie Uwe es schon gesagt hat, geht es in meinem Fall nur mit dem Record besser =)
Ich glaub das ist jetzt nicht mehr so ganz zutreffend!

Mitlerweile sind etliche Funktionen und Proceduren hinzugekommen und ich denke die Verwaltung durch eine Klasse wäre mitlerweile der bessere weg.

Da ich in Delphi bisher nur wenig mit Klassen gearbeitet habe würde ich gerne wissen
wie man das ganze mit soeinem Array Record realisiert.

Delphi-Quellcode:
//Methoden
function getZuordnungen():Tar_zuordnung; //holt alle Zuordnungen aus DB und liefert Array of TZuordnung zurück
procedure fillCombobox(ar_zuordnung:Tar_zuordnung); //füllt die ComboBox mit den Zuordnungsnamen

procedure verbindeFeld(); //verbindet die beiden Treeview Datenfelder miteinander und Speichert Zuordnungswerte in DB
procedure entferneFeld(TV:ttreeview); //entfernt die Verbindungen
procedure ladeVerbindungen(ar_zuordnung :Tar_Zuordnung;id:integer);//fügt Unterknoten mit den vorhanden Zuordnungswerten in die Treeviews ein

Wie realisiert man das ?

Mein Ansatz:
Delphi-Quellcode:
unit uZuordnungsklasse;

interface

uses Classes;
type
  TZuordnungRec = record
    zuorndungsname :string;
    trennzeichen :string;
    zuordnungsdatei :string;
    distributor :string;
    ...
  end;

type Tar_ZuordnungRec = array of TZuordnungRec;
type
  TZuordnung = class
    Constructor create;
    Destructor destroy;
    private
      ZO = TzuordnungRec;
    public
     //zugriffsmethoden
end;



implementation

end.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: TList generische Liste Fehler beim deklarieren RTTI

  Alt 12. Aug 2011, 13:48
Lass den Record weg und mache aus seinen Feldern Properties Deiner Klasse. Verwalten kannst Du sie dann über eine TObjectList. Wenn diese die Objekte beim Entfernen automatisch freigeben soll, lässt Du deren OwnsObjects-Eigenschaft auf true, ansonsten eben umstellen.
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
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 12:11 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