Delphi-PRAXiS
Seite 13 von 26   « Erste     3111213 141523     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Träume, Wünsche und Wahnvorstellungen... (https://www.delphipraxis.net/160506-traeume-wuensche-und-wahnvorstellungen.html)

USchuster 22. Mai 2011 11:52

AW: Träume, Wünsche und Wahnvorstellungen...
 
Zitat:

Zitat von Stevie (Beitrag 1102124)
Was ich mir wünsche:
  • weniger Schmerzen beim Implementieren des System.IEnumerable<T> Interfaces

Helfen würde wenn die Notwendigkeit für die Interface Variable/den Interface Typecast für die "for in" Schleife wegfallen würde für den Fall das IEnumerable und IEnumerable<T> in der gleichen Klasse implementiert sind. (siehe bekannter Thread IEnumerable<T> in .delphi.rtl)

QC Eintrag ist auf meiner Todo Liste.

Zitat:

Zitat von Stevie (Beitrag 1102124)
und Einführung dieses in der Generics.Collections unit.

Warum?

himitsu 22. Mai 2011 12:39

AW: Träume, Wünsche und Wahnvorstellungen...
 
Zitat:

Zitat von USchuster (Beitrag 1102165)
Helfen würde wenn die Notwendigkeit ...

Das Problem hier ist leider, daß jeder generische Typ quasi einen neuen Basistypen bildet und er leider keine Ableitung darstellt.
Wäre aber schön, wenn man das ändern würde. :?

USchuster 22. Mai 2011 13:29

AW: Träume, Wünsche und Wahnvorstellungen...
 
Zitat:

Zitat von himitsu (Beitrag 1102080)
Zitat:

Zu blöd das Du den Fehler nicht gemeldet hast,
Zu blöd, daß der Fehler schon vor mir gemeldet wurde und sich dennoch in all den Jahren nichts getan hat.
Auch wenn ich gerade den anderen Report nicht mehr wiederfinde.

Mein Report mit Deinem Problem ist vom Januar 2011. Wenn es tatsächlich einen anderen Report gibt, dann her mit der Nummer.

Zitat:

Zitat von himitsu (Beitrag 1102080)
PS: "Commodore" war mal so für 2008 geplant ... mit 64 Bit-Compiler, wegen dem uralten Commodore 64

Das alte Commodore sollte zuerst am Jahresende 2008 (Winter 2008) nach Delphi Tiburón (erste Hälfte 2008) und C++Builder Barracuda (Mitte 2008) erscheinen. Tiburón und Barracuda sind zusammen in Q3/2008 erschienen als Delphi/C++Builder 2009 und zu diesem Zeitpunkt war Commodore bereits auf Mitte 2009 verschoben wurden. Die danach getroffene Entscheidung Compilerteile neuzuschreiben kann ich nur begrüßen - einen Delphi 2009 Compiler + 64-bit hätte ich nicht haben wollen. Das aktuelle Commodore Projekt hat nichts mehr mit alten Commodore Projekt zu tun, da der Delphi Teil des alten Commodore Projekts jetzt Bestandteil von Pulsar ist und der C++ Teil von Projekt Wheelhouse.

Ich glaube vor Jahren war sogar mal 2006/2007 im Gespräch. Das bringt uns keinen Schritt weiter. Hoffen wir das es dieses Jahr erscheint und wenn ich David I richtig verstanden habe, dann müsste XE2 ja Ende August/Anfang September erscheinen.

USchuster 22. Mai 2011 14:05

AW: Träume, Wünsche und Wahnvorstellungen...
 
Zitat:

Zitat von himitsu (Beitrag 1102168)
Zitat:

Zitat von USchuster (Beitrag 1102165)
Helfen würde wenn die Notwendigkeit ...

Das Problem hier ist leider, daß jeder generische Typ quasi einen neuen Basistypen bildet und er leider keine Ableitung darstellt.
Wäre aber schön, wenn man das ändern würde. :?

Daran das in der Klassenhierarchie TBar<Integer> nicht TBar<T> als Parent hat wird sich sicher nicht ändern, da TBar<T> nicht instanziert wird. Hat TBar<T> als Vorfahren TFoo<T>, dann wird TFoo<Integer> instanziert, aber nicht TFoo<T>.

Es geht in dem noch zu erstellenden QC Eintrag darum das der Compiler erkennt das ein generischer Enumerator über das IEnumerable<T> bereitgestellt wird ohne das man die Instanz als IEnumerable<T> typecasten muss oder eine IEnumerable<T> Hilfsvariable braucht (oder einen generischen Enumerator ohne IEnumerable<T> implementiert, welcher dann nicht mit TList<T>.AddRange/InsertRange verwendet werden kann)

D.h. jetzt muss man anstatt
Delphi-Quellcode:
var
  pStream: TStream;
  pList: TMyCollection<TMemoryStream>;
begin
  pList := TMyCollection<TMemoryStream>.Create;
  for pStream in pList do
    Writeln(pStream.ClassName);
eine der beiden folgenden Varianten schreiben, wenn man nicht wie Stevie IEnumerable und IEnumerable<T> in unterschiedlichen Klassen implementiert.

Hilfsvariable:
Delphi-Quellcode:
var
  pStream: TStream;
  pList: TMyCollection<TMemoryStream>;
  pListEnum: IEnumerable<TMemoryStream>;
begin
  pList := TMyCollection<TMemoryStream>.Create;
  pListEnum := pList;
  for pStream in pListEnum do
    Writeln(pStream.ClassName);
Typecast:
Delphi-Quellcode:
var
  pStream: TStream;
  pList: TMyCollection<TMemoryStream>;
begin
  pList := TMyCollection<TMemoryStream>.Create;
  for pStream in IEnumerable<TMemoryStream>(pList) do
    Writeln(pStream.ClassName);

Stevie 22. Mai 2011 16:40

AW: Träume, Wünsche und Wahnvorstellungen...
 
Zitat:

Zitat von USchuster (Beitrag 1102165)
Zitat:

Zitat von Stevie (Beitrag 1102124)
und Einführung dieses in der Generics.Collections unit.

Warum?

Damit die Klassen in Generics.Collections auch kompatibel mit dem IEnumerable interface sind? Ansonsten gibts keinen Weg, IEnumerable und TEnumerable miteinander zu verknüpfen. Genau das hab ich nämlich mit meinem TEnumerableEx<T> gemacht, welches eine Ableitung von TEnumerable<T> ist und IEnumerable<T> implementiert. Und dann bekommt man dieses großartige Problem mit gleichnamigen Methoden unterschiedlicher Signatur, welches man nur lösen kann, wenn man eine von beiden umnennt.

mkinzler 23. Mai 2011 05:37

AW: Träume, Wünsche und Wahnvorstellungen...
 
Konstruktoren sind aber auch Klassenmethoden. Ruft man sie später direkt auf einen Objek auf, werden diese erneut ausgeführt, ohne dass eine neue Instanz erzeugt wid

FredlFesl 23. Mai 2011 06:36

AW: Träume, Wünsche und Wahnvorstellungen...
 
Zitat:

Zitat von Stevie (Beitrag 1102142)
Zitat:

Zitat von FredlFesl (Beitrag 1102139)
Witzbold. Mit 'published' Eigenschaften kann ich das aber Eins-Fix-Drei erledigen.
Kann mir nicht vorstellen, das Du wirklich so borniert bist.

Wenn ich borniert wäre, hätt ich bestimmt nicht die bislang (zumindest mir bekannte) umfangreichste Databinding library für die VCL geschrieben

Bravoooo!.
Aber auch bornierte Menschen können programmieren. Also hat das Eine nichts mit dem Anderen zu tun.

Dessenungeachtet habe ich ja gerade geschrieben, das ich mich mir *NICHT* (negierung, verneinung) vorstellen kann, das Du so borniert bist, wie Du dich dargestellt hast. Weiterhin habe ich auch nicht behauptet, das es nur mit 'published' Eigenschaften geht.

Also: erst lesen, dann verstehen, und erst dann mitreden.

Nebenbei: Mir ist deine Arbeit nicht unbekannt, das nur mal so am Rande, Stevie. ;-)

Matze 23. Mai 2011 09:59

AW: Träume, Wünsche und Wahnvorstellungen...
 
Hört bitte auf, euch gegenseitig anzugreifen. Das gilt speziell für dich, FredlFesl.

Hier geht es darum, Wünsche für kommende Delphi-Versionen zu äußern und sachlich darüber zu diskutieren. Also macht das bitte. Es wäre doch schade, wenn sich das Thema so verläuft und daraufhin geschlossen werden muss.

Daniel 23. Mai 2011 11:18

AW: Träume, Wünsche und Wahnvorstellungen...
 
Thema schließen wäre eine Option, ich habe aber auch kein Problem damit, einzelne Personen von der Teilnahme auszuschließen.

Bleibt sachlich oder lasst es bleiben.

mkinzler 23. Mai 2011 11:21

AW: Träume, Wünsche und Wahnvorstellungen...
 
Ich hoffe es geht auch ohne den "Holzhammer" :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 Uhr.
Seite 13 von 26   « Erste     3111213 141523     Letzte »    

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