AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Generics und ältere Delphi´s?

Ein Thema von stahli · begonnen am 15. Dez 2013 · letzter Beitrag vom 18. Dez 2013
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#1

Generics und ältere Delphi´s?

  Alt 15. Dez 2013, 21:42
Ich baue eine Komponente für FMX und verwende dort (natürlich) generische Listen.
Evtl. könnte die Komponente aber auch mal für ältere Delphi-Versionen (also auch VCL ohne Generics) interessant werden.
Entsprechend wäre der Quelltext anzupassen und es gäbe unterschiedliche Versionen (VCL mit und ohne Generics und FMX mit Generics).

Wie würdet Ihr in dem Fall arbeiten?

Gleich auf Generics verzichten oder später ggf. eine entschärfte Version ableiten und dort die Generics ersetzen.
Wie oft evtl. später noch an der Komponente Änderungen/Erweiterungen fällig würden, kann ich schwer einschätzen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Generics und ältere Delphi´s?

  Alt 15. Dez 2013, 22:15
Ich habe da einfach generische Templates (mit Includedateien) benutzt. So musste ich nur per IFDEF zwischen echten Generics ab Delphi 2009 und gefakten vorher umschalten, was sich auf die Zeile der Deklaration der von der generischen Liste abgeleiteten Klasse beschränkt sowie der Einbindung der Includedatei nach implementation.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Generics und ältere Delphi´s?

  Alt 15. Dez 2013, 22:38
Hmm, wenn man etwas mehr in´s Detail geht kommt z.B. noch der Unterschied beim List.Sort hinzu. (Nachtrag: oder "for ... in")
Da bräuchte man auch wieder zwei Varianten (Funktion bzw. Comparer).

Insofern war meine Überlegung, generell lieber auf die klassische Art zu entwickeln.
Das ist etwas umständlicher als wenn man die Neuerungen nutzt, aber man macht dann wenigstens nicht einiges doppelt.

Da ich auch einen Komponenteneditor brauche sind aber unterschiedliche Versionen dann aber eh nicht ganz vermeidbar (wenn man das DesigntimePackage dazu zählt).


Ich werde jetzt erst mal weiter mit Generics entwickeln (außer bei Listen, die sortiert werden) und die Generics vermutlich später wieder raus werfen. Ist ja dann nur etwas mehr Schreibarbeit nötig.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (15. Dez 2013 um 22:44 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Generics und ältere Delphi´s?

  Alt 16. Dez 2013, 11:58
Ich baue eine Komponente für FMX und verwende dort (natürlich) generische Listen.
Alle Delphi-Versionen, die FMX unterstützen, kennen auch Generics.
Delphi-Versionen vor XE2 kennen kein FMX!
Generics gibt es seit Version 2009!

Wenn du daraus doch noch eine VCL-Komponente machst, dann spar dir doch den alten Gammel.
Haben halt die Delphi 5 und 7 Benutzer mit ihren Heft-CD-Versionen Pech gehabt.
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Generics und ältere Delphi´s?

  Alt 18. Dez 2013, 10:46
Ich würde mir die Arbeit ersparen, dass ohne Generics nochmal zu implementieren. Wenn jemand die Komponenten verwenden möchte und kann keine Generics verwenden, dann kann er deine Komponente ja forken (falls sie unter Open Source läuft).
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Generics und ältere Delphi´s?

  Alt 18. Dez 2013, 11:17
Ich würde mir die Arbeit ersparen, dass ohne Generics nochmal zu implementieren.
So viel Arbeit ist es zumindest rein für die generischen Listen doch gar nicht. Ein Beispiel wie ich es eingesetzt habe:
Delphi-Quellcode:
{$IFNDEF COMPILER_14_UP}
  TTypedObjectListItem = TEventListenerClient;
{$include 'TypedObjectListTemplate.inc'}
  TEventListenerClientList = TTypedObjectListTemplate;
{$ELSE}
  TEventListenerClientList = TObjectList<TEventListenerClient>;
{$ENDIF}
Sprich für alte Delphiversionen habe ich einfach die Klasse anders deklariert. Und zusätzliche Funktionen kann man ja umsetzen indem man direkt eine eigene Klasse ableitet.
Sebastian Jänicke
AppCentral
  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 21:54 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