AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Komponente mit TCollection, Item-Duplikate vermeiden
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente mit TCollection, Item-Duplikate vermeiden

Ein Thema von Nic2012 · begonnen am 11. Apr 2014 · letzter Beitrag vom 11. Apr 2014
Antwort Antwort
Nic2012

Registriert seit: 2. Mai 2012
62 Beiträge
 
#1

Komponente mit TCollection, Item-Duplikate vermeiden

  Alt 11. Apr 2014, 16:43
Hallo,
ich habe auf Basis dieses Entwurfshttp://delphi.about.com/library/bluc/text/uc083101d.htm eine Komponente entwickelt. Ein published Property ist vom Typ TCollection. Zur Designzeit lassen sich prima Items hinzufügen oder entfernen. Die Items Klasse hat ein eindeutiges UID-Prop über das ich Duplikate aber vermeiden möchte.

Wie müsste man die Komponente so anpassen, dass schon zur Designzeit anhand der Überprüfung über die UID-Prop keine Duplikate hinzugefügt werden können ?

Verwende nur D7pro.

Gruß,
Nic
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Komponente mit TCollection, Item-Duplikate vermeiden

  Alt 11. Apr 2014, 16:51
Wenn Du Dich an das Tut gehalten hast, sind die Methoden Add und Insert der Collection ja bereits verdeckt (geht leider nicht anders, da in Vorfahrkasse weder virtuell noch dynamisch deklariert). Hier könntest Du doch eine Prüfung einbauen und bei Doppler einfach nicht einfügen, sofern ich keinen Denkfehler mache.
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
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Komponente mit TCollection, Item-Duplikate vermeiden

  Alt 11. Apr 2014, 17:09
Zwei Fälle müssen abgedeckt sein:
  • Hinzufügen eines Items
  • Ändern eines Items (direkt und per Assign)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Nic2012

Registriert seit: 2. Mai 2012
62 Beiträge
 
#4

AW: Komponente mit TCollection, Item-Duplikate vermeiden

  Alt 11. Apr 2014, 17:30
Add, Insert oder Assign werden aber anscheinend nicht zur Designzeit durchlaufen. Jedenfalls wenn ich dort eine Prüfung mache, kann ich trotzdem weiterhin Duplikate zur Designzeit hinzufügen.
  Mit Zitat antworten Zitat
HannesLaie

Registriert seit: 11. Apr 2014
1 Beiträge
 
#5

AW: Komponente mit TCollection, Item-Duplikate vermeiden

  Alt 11. Apr 2014, 17:38
Moin,
Ich hab ne Frage aber wo soll ich sie stellen??
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Komponente mit TCollection, Item-Duplikate vermeiden

  Alt 11. Apr 2014, 17:47
Such Dir ein zur Frage passendes Unterforum und klick dort auf "Neues Thema erstellen".
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 06:18 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